我正在尝试使用此线程中的解决方案:
单击/聚焦时如何更改按钮的背景图像
但由于某种原因,没有任何效果。单击按钮时,没有任何变化。
这是activity_main.xml中的按钮:
<ImageButton
android:id="@+id/selectContactBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="contacts"
android:textSize="18sp"
android:layout_above="@+id/selectMediaBtn"
android:layout_alignRight="@+id/selectMediaBtn"
android:layout_alignEnd="@+id/selectMediaBtn"
android:background="@drawable/select_contact"/>
这是select_contact.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/blocked_mc" />
<item android:drawable="@drawable/select_contact" /> //means normal
</selector>
这是按钮的onClick():
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(intent, ActivityRequestCodes.SELECT_CONTACT);
我做错了什么?
好的,
我明白我的错误了。
我在可绘制对象下命名了 xml,该可绘制对象描述了与可绘制对象图像本身同名的按下/未按下行为 (select_contact.xml)。
当我把它改成别的东西时,它奏效了。
愚蠢,但已经晚了,它发生了:)
希望这可以帮助某人。