【发布时间】:2010-09-29 11:29:02
【问题描述】:
我已经通过在我的主题中指定以下选择器将它应用于我的所有按钮:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/my_btn_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/my_btn_focussed"
android:state_focused="true" />
<item android:drawable="@drawable/my_btn_normal" />
</selector>
这很好用。但是我希望按钮的背景在按下按钮时保持“@drawable/my_btn_pressed”,好像是为了突出显示这是最后一个按下的按钮。因此,我在onClick() 中添加了代码来设置后台资源:
infoButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
infoButton.setBackgroundResource(R.drawable.my_btn_pressed);
otherButton.setBackgroundResource(R.drawable.my_btn_normal);
}
});
这也可以使用“my_btn_pressed”突出显示最后按下的按钮。但是在此之后,我的选择器属性似乎不适用于其他按钮。主要是,所关注的状态根本无法区分。
知道我可以如何做到这两个,即区分按钮的聚焦、按下和正常状态,以及突出显示最后按下的按钮吗?
【问题讨论】:
标签: android button background selector