我有一个ImageButton:
<ImageButton
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/btn_70s"
android:src="@drawable/btn_70s"
android:background="@null" /* Sets transparent BG for button image(PNG) */
/>
图像是“btn_70s”,如何点击ImageButton时如何设置图像的“按下”版本?
文档声明创建XML文件并将其放在drawable目录中:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- focused -->
<item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
这对我说它会影响所有的ImageButtons而不是个人的。我会将它保存为每个按钮的单独XML(例如btn_70s_custom.xml),然后像下面一样使用它:
<ImageButton
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/btn_70s"
android:src="@drawable/btn_70s"
android:android:background="@drawable/btn_70s_custom"
/>
只有问题,我不能使用@null来允许透明度。任何帮助都表示赞赏。
答案 0 :(得分:1)
请查看问题的(可能的)解决方案:Make button background transparent using selector
并且为了记录,
这对我说它会影响所有的ImageButtons而不是个人的。我会将它保存为每个按钮的单独XML(例如btn_70s_custom.xml),然后像下面一样使用它:
不,它不会为所有按钮设置此主题,但仅适用于您指定使用此选择器的按钮。
希望这有帮助!
答案 1 :(得分:0)
您可以尝试selectableItemBackground
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"/>