<layer-list> 背景禁用 android:padding 设置

Ale*_*hak 5 android layer-list

我有一个ListView自定义项目布局和自定义背景。问题是android:padding在我将可绘制背景从<shape>to切换后, value 似乎被忽略了<layer-list>

布局/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>
Run Code Online (Sandbox Code Playgroud)

drawable/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>
Run Code Online (Sandbox Code Playgroud)

以上按预期工作。填充消失当我改变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>
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Ale*_*hak 4

包裹<layer-list>在 a 中<selector>解决了这个问题:

<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>
Run Code Online (Sandbox Code Playgroud)