----- 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