无法理解图层列表

Unable to understand layer-list

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:top="4dp"
        android:right="4dp"
        android:bottom="4dp"
        android:left="4dp">
        <shape
            android:shape="oval">
            <solid android:color="#ff0000" />
        </shape>
    </item>
    <item>
        <shape
            android:shape="oval">
            <stroke android:width="2dp"
                android:color="#ff0000"/>
        </shape>
    </item>
</layer-list>

取自此处:

How is it giving me a ring shape?

layer-list 的工作原理以及 item 标签的 top、right、bottom 和 left 属性有什么作用?

Cant we just use ring shape ?Why go for oval shape to make ring shape?

图层列表是可绘制的,称为带有 <item> 标签的其他可绘制序列。 从你的问题来看,第一个 <item> 是内部椭圆形 & 顶部、底部、右侧和左侧是赋予该项目的插图(与填充相同)。尝试首先给出宽度和高度,您可以看到内部椭圆形,外部椭圆形有 4dp 填充。

请参阅此 link 以了解有关图层可绘制对象的更多详细信息 http://developer.android.com/reference/android/graphics/drawable/LayerDrawable.html

是的,你可以使用环形来画一个环,例如:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:innerRadius="15dp"
    android:thickness="10dp"
    android:useLevel="false">
    <solid android:color="#ff0000" />

</shape>