Я хочу изменить цвет фона ImageButton
, когда я нажимаю на него. Так что я создаю селектор ...Селектор не работает на ImageButton - Android
button_click.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_normal" />
<item android:drawable="@drawable/button_pressed" android:state_pressed="true" />
</selector>
Для этого селектора я создаю два вводимые коэффициент: button_normal.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="@color/white_transparent" />
<corners android:radius="2dp" />
<stroke android:color="@color/shadow" android:width="1dp" />
</shape>
</item>
</selector>
и button_pressed.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="#FFCC00" />
<corners android:radius="2dp" />
<stroke android:color="@color/shadow" android:width="1dp" />
</shape>
</item>
</selector>
Все то же самое, только я меняю цвет. Это мой colors.xml файл:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
<color name="gray">#EEEEEE</color>
<color name="primaryColor">#2196F3</color>
<color name="primaryColorDark">#1976D2</color>
<color name="accentColor">#009688</color>
<color name="shadow">#1A000000</color>
<color name="text_color">#B6B7B9</color>
<color name="button_clicked">#80000000</color>
<color name="white_transparent">#BFFFFFFF</color>
</resources>
И я использую этот селектор в моем файле main_screen.xml на ImageButton
:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_click"
android:padding="@dimen/activity_vertical_margin"
android:clickable="true"
android:id="@+id/btnSinoLoc"
android:src="@drawable/find_sino"
android:layout_margin="@dimen/activity_horizontal_margin"
android:contentDescription="@null"
android:maxHeight="40dp"
android:maxWidth="40dp"
android:adjustViewBounds="true"
android:layout_alignTop="@+id/map"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
Но это не работает ... Я получил ImageButton
как я хочу, но когда я нажимаю, цвет не меняется. Так что мне не хватает, или есть другой способ сделать это?
Спасибо, проблема заключалась в создании чертежей в качестве селектора ....: / – KiKo