我有一个附加了onTouchListener的文本字段。当我触摸文本时,将触发ACTION_DOWN并将文本从其默认白色变为黑色。然后我取消操作ACTION_UP被触发,文本恢复为白色。
但是现在,当我触摸并按住文本时,该文本将变为黑色并保持原来的状态,因此我希望它使我在触摸并按住该文本时应变为黑色,然后再次变为白色,即使我的手指正在触摸它。
我怎样才能做到这一点!?
我尝试使用这样的东西:
boolean clicked = true;
textfield.setOnTouchListener(new OnTouchListener(){
public void onTouch(View v, MotionEvent e){
if(m.getAction() == MotionEvent.ACTION_DOWN){
if(clicked){
// do something
clicked = false;
}
if(m.getAction() == MotionEvent.ACTION_UP){
clicked = true;
}
}
}
由于某种原因它不起作用!
最佳答案
因此,当您按住文本时,是否希望它先变黑然后变白(而您仍然按住它)?
您可以将延迟的消息发布到Handler上,以在ACTION_DOWN事件后x毫秒内更改颜色。您必须手动设置颜色,而不是依靠文本颜色状态列表,因为这可能会干扰某些事情。
关于android - 暂停时onTouchListener不一致吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8212921/