----- res/drawable/btn_status_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false">
<color android:color="#9000"></color>
</item>
<item android:state_pressed="true">
<color android:color="#3f00"></color>
</item>
<item>
<color android:color="#9f00"></color>
</item>
</selector>----- 不同状态对应的颜色是完全独立的,互不影响的
----- #9f00 normal
----- #3f00 pressed
-----#9000 state_enabled = false
final Button btnStatus = (Button) findViewById(R.id.btn_status);
btnStatus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btnStatus.setEnabled(false);
Toast.makeText(MainActivity.this, "btn", Toast.LENGTH_SHORT).show();
}
});--- 对应效果
normal #9f00
按下 #3f00
设置为status_enabled = false #9000
本文介绍了一个使用XML定义的状态选择器,用于改变按钮在不同状态下的颜色显示。通过按钮的点击事件,可以动态地更改按钮的状态,进而改变其颜色。文章展示了如何在Android中实现这一功能,并提供了具体的代码示例。
1589

被折叠的 条评论
为什么被折叠?



