Как нарисовать 3 круга друг над другом, которые по-разному прозрачны? - PullRequest
0 голосов
/ 24 января 2019

enter image description here Я пытаюсь создать слой из 3 кругов, которые все внутренние. А внутри у меня будет изображение цветов.

Фон может измениться ... Если он сидел на синем фоне, то это будут синие оттенки. Поэтому мне нужно как-то настроить прозрачность, чтобы сделать эту работу. Центр ДОЛЖЕН ВСЕГДА быть полностью белым. Затем я хочу добавить свое изображение в центре.

Я создал список слоев, чтобы добиться этого, но я не могу сделать круги прозрачными, и у меня может появиться только два круга? Как получить растровое изображение в центре?

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Larger  circle in back -->
    <item>
        <shape android:shape="oval">
            <solid android:color="#726"/>
            <size
                android:width="35dp"
                android:height="35dp"/>
        </shape>
    </item>

    <item>
        <shape android:shape="oval">
            <solid android:color="#00f"/>
            <size
                android:width="25dp"
                android:height="25dp"/>
        </shape>
    </item>
    <!-- Smaller  circle in front -->
    <item>
        <shape android:shape="oval">
            <!-- transparent stroke = larger_circle_size - smaller_circle_size -->
            <stroke android:color="@android:color/transparent"
                android:width="5dp"/>
            <solid android:color="#f00"/>
            <size
                android:width="10dp"
                android:height="10dp"/>
        </shape>
    </item>
</layer-list>

1 Ответ

0 голосов
/ 24 января 2019

Попробуйте это

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape android:shape="oval">
            <solid android:color="#b5ed9259" />
            <size
                android:width="30dp"
                android:height="30dp" />
        </shape>
    </item>

    <item>
        <shape android:shape="oval">
            <stroke
                android:width="5dp"
                android:color="@android:color/transparent" />
            <solid android:color="#cff27527" />
            <size
                android:width="25dp"
                android:height="25dp" />
        </shape>
    </item>

    <item
        android:bottom="2dp"
        android:left="2dp"
        android:right="2dp"
        android:top="2dp">
        <shape android:shape="oval">
            <stroke
                android:width="5dp"
                android:color="@android:color/transparent" />
            <solid android:color="#fbda5807" />
            <size
                android:width="20dp"
                android:height="20dp" />
        </shape>
    </item>

    <item
        android:bottom="5dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp">
        <shape android:shape="oval">
            <stroke
                android:width="5dp"
                android:color="@android:color/transparent" />
            <solid android:color="#FFFFFF" />
            <size
                android:width="30dp"
                android:height="30dp" />
        </shape>
    </item>

    <item
        android:bottom="5dp"
        android:drawable="@drawable/ic_fav"
        android:gravity="center"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp"/>

</layer-list>

OUTPUT

enter image description here

...