一、修改Button按钮选中状态
1.在res\values\colors.xml文件中添加如下内容:
<resources>
<drawable name="white">#ffffff</drawable>
<drawable name="black">#000000</drawable>
</resources>
注意:节点一定是drawable,不是color
2. 在res\drawable\下新建一个名为btn_selector.xml的文件,内容如下:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <selector xmlns:android="http://schemas.android.com/apk/res/android">
3 <item android:state_selected="true" android:color="@drawable/white" />
4 <item android:state_pressed="true" android:color="@drawable/white" />
5 <item android:color="@drawable/black"/>
6 </selector>
3.给button设置颜色,内容如下:
<Button
android:text="按钮"
android:textColor="@drawable/btn_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
这样你的按钮不光背景可以变化,颜色也可以变化
二、修改TextView文本选中状态
1.在res\values\colors.xml文件中添加如下内容:
<color name="blue">#3f9ddf</color>
2.在res\drawable\下新建一个名为corner_blue_d25.xml的文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="@dimen/d25"/>
<solid android:color="@color/blue"/>
</shape>
3.在相同目录下新建另一个文件tv_enable_select.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/corners_blue_d25" android:state_pressed="true" />
<item android:drawable="@drawable/corners_gray_d25" android:state_pressed="false" />
</selector>
4.给TextView设置背景,内容如下:
<TextView
android:text="文本"
android:background="@drawable/tv_enable_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
三、还可以通过监听器设置变化状态:
btn.setOnTouchListener(buttonListener);
private OnTouchListener buttonListener = new OnTouchListener() {
public boolean onTouch(View arg0, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
if (action == MotionEvent.ACTION_DOWN) { // 按下
} else if (action == MotionEvent.ACTION_UP) { // 松开
}
return false;
}
};
里面写上自己的逻辑即可,大功告成!