如何使Button点击时背景和字体颜色同时改变
在Android开发过程中,经常会遇到这样的需求:Button在点击按下时,按钮背景和字体颜色都发生改变。
方法一:用selector来同时改变按钮的背景和字体的颜色
- 01
给Button设置Background(可以通过xml来设置,也可以通过硬编码来设置,这里就给出xml来设置)
- 02
其中,Button的Background是一个selector
- 03
然后,通过硬编码设置button的文本字体颜色,这里用到了android提供的setTextColor(ColorStateList colors)方法,这个方法就是用来设置不同状态下文本的颜色。
- 04
其中,R.drawable.register_btn_text_color是在drawable文件夹下定义的selector文件
- 05
实现后效果如下
方法2:监听按钮的onTouch事件
- 01
监听按钮的onTouch事件,当ACTION_DOWN时,改变按钮的背景和字体颜色,当ACTION_UP时恢复按钮的背景和字体颜色
- 02
上述方法虽然能够实现按钮的背景和字体颜色都发生改变,实现起来较复杂,而且效果也不是特别好。如当手指滑动在按钮区域内滑动时,按钮的状态与按下状态保持一致,而当手指滑动到按钮区域以外时,按钮的状态与默认状态保持一致。这种效果处理起来就特别麻烦
赞 (0)