0

是否可以将 ImageButton 的背景设置为“@null”并仍然选择 onClick 突出显示颜色?

非常感谢

编辑

我在 ImageButton 上使用以下 xml,以便 android 背景为空,但我的自定义背景为:

<ImageButton
    android:id="@+id/m1_btn"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@null"
    android:src="@drawable/pause"
    tools:ignore="ContentDescription" />

然后我的按钮背景在我的 Java 中被控制,如下所示:

    pp_btn1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        i +=1;
        if (i % 2 == 0) {
            pp_btn1.setImageResource(R.drawable.pause);
        } else {
            pp_btn1.setImageResource(R.drawable.play);
        }
    }
});

有了这个解释,有没有办法仍然实现按钮突出显示onClick?

非常感谢

4

1 回答 1

1

是的,在可绘制文件夹中有一个新的 xml clickedstates.xml,它定义了当您按下图像按钮时会发生什么以及默认背景应该是什么。并将此 xml 作为您的图像按钮的背景,例如 @drawable/clickedstates ...例如:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">  

<item     android:state_enabled="false"     
android:drawable="@drawable/default_bgnd" />

<item     android:state_focused="true"        
android:drawable="@drawable/new_green" />

<item     android:state_pressed="true"        
android:drawable="@drawable/new_green" />

<item     android:state_checked="true"        
android:drawable="@drawable/new_green"/>

<item     android:state_selected="true"        
android:drawable="@drawable/new_green" /> 
</selector> 
于 2013-09-08T15:41:04.913 回答