Невозможно понять список слоев
<?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>
взяты отсюда:
/questions/34687065/forma-risovaniya-ne-rabotaet/34687072#34687072
Как это дает мне форму кольца?
Как работает список слоев и что делают верхний, правый, нижний и левый атрибуты тега элемента?
Не можем ли мы просто использовать форму кольца? Зачем идти к овальной форме, чтобы сделать форму кольца?
1 ответ
Список слоев рисуется, называется последовательность других рисований с <item>
тег. Вот из твоего вопроса первый <item>
является внутренней овальной формой, а сверху, снизу, справа и слева - вставки, заданные для этого элемента (так же, как и для заполнения). Попытайтесь указать ширину и высоту, чтобы сначала вы могли видеть внутреннюю овальную форму с отступом 4dp от внешнего овала.
Обратитесь к этой ссылке для получения более подробной информации о слоях для рисования 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>