Android Layer-List Drawable 有两个项目未正确绘制且尺寸错误

Android Layer-List Drawable with two items not properly drawn and having wrong size

我创建了一个简单的图层列表可绘制对象,我想将其用作指示设备是否在线的天气。 drawable由外圈和内圈组成:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:width="14dp"
        android:height="14dp"
        android:gravity="center">
        <shape android:shape="oval">
            <stroke
                android:width="1dp"
                android:color="@color/colorLightGray" />
        </shape>
    </item>
    <item
        android:width="10dp"
        android:height="10dp"
        android:gravity="center">
        <shape android:shape="oval">
            <solid android:color="@color/colorLightGray" />
        </shape>
    </item>
</layer-list>

在我的布局 xml 中,当我将可绘制对象指定为图像视图的源时,它似乎是正确的:

但是,如果我 运行 设备上的代码,它看起来像这样:

我还必须在我的布局中设置宽度和高度,否则图像根本不会显示。

问题:

try this layerlist drawable:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:gravity="center">
        <shape android:shape="oval">
            <size
                android:width="14dp"
                android:height="14dp" />
            <stroke
                android:width="1dp"
                android:color="@color/colorLightGray" />
        </shape>
    </item>
    <item
        android:bottom="3dp"
        android:left="3dp"
        android:right="3dp"
        android:top="3dp">
        <shape android:shape="oval">
            <size
                android:width="10dp"
                android:height="10dp" />
            <solid android:color="@color/colorLightGray" />
        </shape>
    </item>
</layer-list>

使用这个:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape
            android:shape="oval">
            <solid
                android:color="@android:color/transparent"/>
            <padding
                android:bottom="4dp"
                android:left="4dp"
                android:right="4dp"
                android:top="4dp"/>
            <stroke
                android:width="1dp"
                android:color="@color/colorLightGray"/>
        </shape>
    </item>
    <item>
        <shape
            android:shape="oval">
            <solid
                android:color="@color/colorLightGray"/>
            <size
                android:width="10dp"
                android:height="10dp"/>
        </shape>

    </item>
</layer-list>