1
可能这是一个重复的问题,如果它善意地指引我。使用ontouch事件创建onclick
我有线性布局里面一个TextView和上的LinearLayout我想改变的TextView
的的LinearLayout和文本颜色的背景我试图onTouch的行动点击。 Down和Action.Up, ,但它不工作干净。如果用户在ActionDown之后以任何方向轻扫,则除非再次单击,否则其颜色保持更改。
可能这是一个重复的问题,如果它善意地指引我。使用ontouch事件创建onclick
我有线性布局里面一个TextView和上的LinearLayout我想改变的TextView
的的LinearLayout和文本颜色的背景我试图onTouch的行动点击。 Down和Action.Up, ,但它不工作干净。如果用户在ActionDown之后以任何方向轻扫,则除非再次单击,否则其颜色保持更改。
首先,你需要这样的
private GestureDetector gestureDetector;
gestureDetector = new GestureDetector(this, new SingleTapConfirm());
一个GestureDetector添加SimpleOnGestureListener
到GestureDetector
private class SingleTapConfirm extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onSingleTapUp(MotionEvent event) {
return true;
}
}
现在写一个你OnTouchListener
View.OnTouchListener simpleMethod = new View.OnTouchListener() {
if (gestureDetector.onTouchEvent(event)) {
// single tap code goes here, its single tap click
// its like Onclick for your view
} else {
// your code for move and drag, touch
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
// your action down action
break;
case MotionEvent.ACTION_MOVE:
// your action move code here
break;
default:
return false;
}
return true;
}
}
};
最后利斯特添加触摸到您的视图
fab.setOnTouchListener(simpleMethod);
您可以简单地使用'your_liner_layout.setOnClickListener(new View.OnClickListener(){};' – Kathi