XML Circle с градиентной заливкой Android

Я пытаюсь создать кнопку XML, форму круга, которая залита цветом градиента. Этот цвет нужно изменить программно.

Вот пример того, чего я пытаюсь достичь.

введите здесь описание изображения

Мои попытки построить это закончились градиентным фоном и сплошным цветным кругом. Вместо градиентного круга и прозрачного фона.

Я надеюсь, что смогу использовать более двух цветов или радиальный градиент для круга. Любая помощь приветствуется.


person Travis Knight    schedule 29.09.2015    source источник


Ответы (2)


Вы можете попробовать сделать Drawable XML. Пример

    <?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="circle" >

    <gradient
        android:angle="90"
        android:centerColor="#555994"
        android:endColor="#b5b6d2"
        android:startColor="#555994"
        android:type="linear" />    

</shape>

Установите угол в соответствии с вашими требованиями.

Если вы хотите изменить цвет прогарматически, прочтите это:

Как программно установить градиент цвета фона в настраиваемой строке заголовка?

person Hradesh Kumar    schedule 12.10.2015
comment
Есть ли форма под названием круг? - person K Pradeep Kumar Reddy; 10.03.2021

Запоздал, но может быть полезен кому-то другому

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="oval">
        <gradient android:angle="0" android:endColor="#fff" android:gradientRadius="@dimen/_30sdp" android:startColor="@color/colorPrimaryDark" android:type="radial" />
        <size android:width="@dimen/_25sdp" android:height="@dimen/_25sdp" />
    </shape>
</item>

Output enter image description here

person Faizan Haidar Khan    schedule 29.04.2020