我该如何设置一个";按「;Android Studio中的imagebutton?

我该如何设置一个";按「;Android Studio中的imagebutton?,android,sdk,Android,Sdk,我有一个图像按钮: <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) */ /> 图像为“

我有一个图像按钮:

<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”,当点击图像按钮时,如何设置图像的“按下”版本

文档说明如何创建XML文件并将其放置在可绘制目录中:

<?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>

这对我来说意味着它将影响所有的图像按钮,而不是单个按钮。例如,我会将它保存为每个按钮的单独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来允许透明度。非常感谢您的帮助。

请在那边查看您的问题的(可能的)解决方案:

为了记录在案

这对我来说意味着它将影响所有的图像按钮,而不是单个按钮。例如,我会将它保存为每个按钮的单独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"
 />   
不,它不会为所有按钮设置此主题,但仅为您指定使用此选择器的按钮设置此主题


希望这有帮助

您可以尝试selectableItemBackground

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="?attr/selectableItemBackground"/>