Невозможно понять список слоев

<?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>
Другие вопросы по тегам