通常按钮在点击前和后有两种状态,比如点击前为蓝色,点击后为灰色,且不再响应点击事件。
如果不使用selector选择器,点击后,就需要在程序中进行以下的类似操作
button1.setBackgroundResource(R.color.material_grey_300); button1.setTextColor(getResources().getColor(R.color.material_grey_50)); button1.setClickable(false);
如果使用selector选择器,我们可以将上面的操作简化为
button1.setEnabled(false);
selector代码如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/igame_normal_white_color" android:state_pressed="true" /> <item android:color="@color/igame_actionbar_button_pressed_color" android:state_enabled="false" /> <item android:color="@color/igame_normal_op_color" /> </selector>
具体使用如下:
新建一个xml文件,比如取名为button_color_selector.xml,然后将selector块的代码放到文件去。
在布局文件中,在Button标签中设置button的属性即可
android:background="@drawable/button_color_selector"
使用selector选择器可以简化代码,而且可以复用,当其它组件需要使用的时候,直接设置其属性即可。
时间: 2024-11-08 18:23:55