Selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_call_active_big" android:state_pressed="true"/>
<!-- pressed -->
<item android:drawable="@drawable/btn_call_normal_big"/>
</selector>
按钮背景
<ImageButton
android:id="@+id/btnPhone"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:background="@drawable/button_background"
android:src="@drawable/btn_call_normal_big" />
请在上面提出建议。在哪里我做错了
答案 0 :(得分:0)
您必须使用选择器代替png文件。变化
android:src="@drawable/btn_call_normal_big"
与
android:src="@drawable/nome_of_selector"
答案 1 :(得分:0)
boolean isPressed=false
button.setOnClickListener(buttonListener);
OnClickListener buttonListener= new OnClickListener() {
@Override
public void onClick(View v) {
if(isPressed){
button.setBackgroundResource(R.drawable.icon1);
}else{
button.setBackgroundResource(R.drawable.icon2);
}
isPressed=!isPressed;
}
};
希望它会对你有所帮助。
另请查看以下链接
http://www.mkyong.com/android/android-imagebutton-selector-example/
这也可以帮到你
答案 2 :(得分:0)
删除src属性并将背景属性值更改为选择器文件名。
<ImageButton
android:id="@+id/btnPhone"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:background="@drawable/Selector"
/>
答案 3 :(得分:0)
使用此:
<ImageButton
android:id="@+id/btnPhone"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:src="@drawable/selector" />