我的文本字段附有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;
}
}
}
由于某种原因它不起作用!!
答案 0 :(得分:1)
所以当你拿着文字时,你想让它变成黑色然后是白色(当你还在按住它时)?
您可以将延迟消息发布到Handler以更改ACTION_DOWN事件后的颜色x毫秒。您必须手动设置颜色,而不是依赖于文本颜色状态列表,因为这可能会干扰事物。