私のリストビューアイテムのスワイプを実装しようとしていますが、ボタンのような隠し要素があります このボタンを表示するために左/右の項目をスワイプします。すべてが完璧に動作します。私はアイテムやボタンをクリックすることはできません。イベントMotionEvent.ACTION_UPは常にトリガされるためです。 ログ私だけの項目をクリックするだけ/タッチを作るAndroid MotionEvent.ACTION_MOVEとMotionEvent.ACTION_UP
Action DOWN
OLD X = -329.0
DX = -329.0
MOVE RIGHT
OLD X = -329.0
DX = -330.5
MOVE RIGHT
OLD X = -329.0
DX = -330.95996
MOVE RIGHT
Action UP
はどんな私を助けることができますか?アイテムのクリックに対して は、このコード
float cx = event.getX();
if(cx<width && cx>(width-150)) {
と私のコード
swipeLayout.setOnTouchListener(new View.OnTouchListener() {
private boolean canClick = false;
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
x1 = event.getX();
dX = view.getX() - event.getRawX();
dY = view.getY() - event.getRawY();
Logger.e("Action DOWN");
oldX = dX;
return true;
case MotionEvent.ACTION_MOVE:
Logger.e("OLD X = " + oldX);
Logger.e("DX = " + dX);
dX = view.getX() - event.getRawX();
if (oldX < dX) {
Logger.e("MOVE LEFT");
view.animate().x(-100).setDuration(50).start();
break;
}
if (oldX > dX) {
Logger.e("MOVE RIGHT");
view.animate().x(0).setDuration(50).start();
break;
}
case MotionEvent.ACTION_UP:
Logger.e("Action UP");
}
return false;
}
});
タッチ応答を処理するためにタッチリスナーと共に使用[ジェスチャー検出器(https://developer.android.com/training/gestures/detector.html):ここ が可能な例です。 –