Я хочу создать пользовательский селектор для кнопки.
Если кнопка не нажата, должна отображаться рамка, как показано ниже, и область внутри и границы должна быть прозрачной:
|‾‾‾‾‾‾‾‾\
| \
| /
|________/
Если кнопка нажата, граница и область внутри нее должны стать светло-зелеными.
Я пытался добиться этого с помощью следующего селектора:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="100.0"
android:viewportHeight="100.0">
<path
android:pathData="M 29.00,19.00
C 29.00,19.00 60.00,19.00 60.00,19.00
61.88,19.01 64.23,18.95 66.00,19.60
69.90,21.03 78.62,30.62 82.00,34.00
84.18,36.18 89.99,41.75 91.40,44.00
95.12,49.94 89.79,54.78 86.05,59.00
82.10,63.46 70.67,77.68 66.00,79.40
64.06,80.12 61.09,80.00 59.00,80.00
59.00,80.00 8.00,80.00 8.00,80.00
-0.15,79.85 0.01,77.22 0.00,70.00
0.00,70.00 0.00,35.00 0.00,35.00
0.00,30.09 -1.23,23.82 2.31,20.02
7.35,18.11 22.77,19.00 29.00,19.00 Z"
android:fillColor="@color/button_pressed"
/>
</vector>
</item>
<item android:state_pressed="false">
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="100.0"
android:viewportHeight="100.0">
<path
android:pathData="M 29.00,19.00
C 29.00,19.00 60.00,19.00 60.00,19.00
61.88,19.01 64.23,18.95 66.00,19.60
69.90,21.03 78.62,30.62 82.00,34.00
84.18,36.18 89.99,41.75 91.40,44.00
95.12,49.94 89.79,54.78 86.05,59.00
82.10,63.46 70.67,77.68 66.00,79.40
64.06,80.12 61.09,80.00 59.00,80.00
59.00,80.00 8.00,80.00 8.00,80.00
-0.15,79.85 0.01,77.22 0.00,70.00
0.00,70.00 0.00,35.00 0.00,35.00
0.00,30.09 -1.23,23.82 2.31,20.02
7.35,18.11 22.77,19.00 29.00,19.00 Z"
android:strokeWidth="5"
android:strokeColor="#484848"
/>
</vector>
</item>
</selector>
Ноэто не работает, как ожидалось.Когда кнопка не нажата, граница не отображается, но если кнопка нажата, граница и область внутри нее отображаются разными цветами.
Я пытался установить прозрачный фон, когда кнопка не была нажата.не нажимал
android:fillColor="#80000000"
но это не помогло
Я также пытался установить
android:strokeWidth="0"
при нажатии кнопки, но это не помоглолибо.