java - 如何在按下时更改按钮背景并在停止按下后继续更改?
问题描述
我有这段代码,当我按下按钮时背景会发生变化,但是当我停止按下按钮时,会返回到第一个背景。
<item android:drawable="@drawable/botonverdeencendido" android:state_pressed="true"/>
<item android:drawable="@drawable/botonverdeapagado"/>
解决方案
要在按下时更改按钮的背景颜色,您可以这样做,
btn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//Button pressed color
if (event.getAction() == MotionEvent.ACTION_DOWN) {
btn.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
}
// Button pressed stopped
if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) {
btn.setBackgroundColor(getResources().getColor(R.color.colorAccent));
}
return false;
}
});
我认为这对你有用。
推荐阅读
- html - 如何从底部到顶部更改此填充渐变
- java - Adapter 类中的文本大小更改会更新所有活动中的文本大小
- .htaccess - 重写子文件夹不起作用
- wordpress - 谷歌云存储桶权限问题
- c# - 如何有条件地编译“InternalsVisibleTo(...)”程序集信息?
- reactjs - Redux-Form 根据 initialValues 设置组件状态
- python - python中的无限斐波那契生成器产生错误?
- html - 带有背景附件的元素:固定在移动设备上的行为与在桌面上的行为不同
- reactjs - 获取在 React.js 中不起作用
- eclipse - 运行 WSO2EI