请参阅Deepa解决方案的答案:)
我阅读了StackOverFlow中给出的所有解决方案但似乎没有一个在我的情况下工作。问题是我的应用程序中有几个按钮,它们对用户操作的反应都不同。例如,当应用程序启动时,除了两个按钮之外的所有按钮都被禁用。所以我将默认drawable设置为我的XML。当我打开一个文件时,所有这些都是可点击的,但其中一些,当按下时需要保持按下(我已经完成了)但其他人只需要按下然后不按下我不能做的。顺便说一下,所有按钮都有不同的背景,这就是我不使用选择器的原因。这是一些印刷品:
因此,您可以看到我管理默认状态和“已检查状态”(按下“永远”)但我无法设置单击状态,只需按下按钮然后,当操作完成后返回到没有压力的状态。因为我知道onClick是在触摸后调用所以它不起作用。
答案 0 :(得分:2)
试试这个..
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
//change the button for pressed state..
button.setBackgroundResource(R.drawable.pressed);
}
}
if(event.getAction()==MotionEvent.ACTION_UP) {
//After pressing the button again change the image for button as
button.setBackgroundResource(R.drawable.normal);
}
});
我希望对你有所帮助......