Форма не отображается в ImageButton с помощью селектора
Я пытаюсь дать эффект клика в кнопке изображения через селектор, и я использовал форму. Но проблема в том, когда я использую селектор с Android: фон только небольшая часть в левом верхнем углу становится оранжевым.
селектор xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="rectangle">
<solid android:color="@color/orange"/>
</shape>
</item>
</selector>
и мое изображение XML
<ImageButton
style="@style/icon"
android:background="@drawable/icon_selector"
android:src="@drawable/fear_96"
android:scaleType="fitXY" />
Но когда я меняю селектор с фона на src, тогда ничего не происходит
<ImageButton
style="@style/icon"
android:background="@drawable/fear_96"
android:src="@drawable/icon_selector"
android:scaleType="fitXY"/>
Пожалуйста, помогите, как я могу дать эффект клика, используя селектор?
2 ответа
Решение
Используйте ниже изменение кода android:color
вandroid:drawable
и вы можете использовать цвет как рисуемое увидеть изображение.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/orange"
android:state_pressed="true" />
<item android:drawable="@color/orange"
android:state_focused="true" />
<item android:drawable="@drawable/fear_96" />
</selector>
установить в качестве фона
<ImageButton
style="@style/icon"
android:background="@drawable/icon_selector"
android:scaleType="fitXY" />
В icon_selector
XML
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/orange"
android:state_pressed="true" />
<item android:color="@color/orange"
android:state_focused="true" />
<item android:drawable="@drawable/fear_96" />
</selector>
И в вашем ImageButton
<ImageButton
style="@style/icon"
android:background="@drawable/icon_selector"
android:scaleType="fitXY" />