Я завжди вважаю образи корисними під час вивчення нової концепції, тому це додаткова відповідь.
Це %p
означає відсоток батьківського, тобто відсоток від самого вузького виміру будь-якого виду, який ми встановимо. Зображення, наведені вище, були створені зміною gradientRadius
цього коду
my_gradient_drawable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:type="radial"
android:gradientRadius="10%p"
android:startColor="#f6ee19"
android:endColor="#115ede" />
</shape>
Які можна встановити на такий background
атрибут представлення
<View
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@drawable/my_gradient_drawable"/>
Центр
Ви можете змінити центр радіуса за допомогою
android:centerX="0.2"
android:centerY="0.7"
де десяткові є частки ширини і висоти для x
і y
відповідно.
Документація
Ось кілька приміток із документації, що пояснюють речі трохи більше.
android:gradientRadius
Радіус градієнта, що використовується тільки при радіальному градієнті. Може бути явним розміром або дробовим значенням щодо мінімального розміру форми.
Може бути значенням з плаваючою комою, наприклад "1,2".
Може бути значенням розміру, яке є числом з плаваючою комою, додане до одиниці, такої як "14.5sp". Доступні одиниці: px (пікселі), dp (незалежні від щільності пікселі), sp (масштабовані пікселі на основі бажаного розміру шрифту), в (дюйми) та mm (міліметри).
Може бути дробовим значенням, яке є числом з плаваючою комою, додане або% або% p, наприклад "14,5%". Суфікс% завжди означає відсоток від базового розміру; необов'язковий суфікс% p забезпечує розмір відносно деякого батьківського контейнера.