2014-10-04 25 views
3

我有一個ListView自定義項目佈局和自定義背景。 問題是android:padding價值似乎被忽略後,我從<shape>切換到<layer-list>可繪製的背景。<layer-list>背景禁用android:填充設置

佈局/ list_item.xml

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/layout_list_item_bill" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="12dp"> 

    . . . 
</LinearLayout> 

抽拉/ list_item_background.xml

<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
     <solid android:color="@color/white" /> 
     <corners android:radius="@dimen/corner_radius" /> 
     <stroke android:width="1dp" android:color="@color/blue" /> 
</shape> 

上述工程按預期方式。當我改變drawable/list_item_background.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item> 
     <shape> 
      <solid android:color="@color/white"/> 
     </shape> 
    </item> 

    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/white" /> 
      <corners android:radius="@dimen/corner_radius" /> 
      <stroke android:width="1dp" android:color="@color/blue" /> 
     </shape> 
    </item> 

</layer-list> 

我缺少填充消失?

回答

2

<selector>結束語<layer-list>已經解決了這個問題:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <layer-list> 
      <item> 
       <shape> 
        <solid android:color="@color/white"/> 
       </shape> 
      </item> 
      <item> 
       <shape android:shape="rectangle"> 
        <solid android:color="@color/white" /> 
        <corners android:radius="@dimen/corner_radius" /> 
        <stroke android:width="1dp" android:color="@color/blue" /> 
       </shape> 
      </item> 
     </layer-list> 
    </item> 
</selector>