Я добавляю новый TextView к LinearLayout , затем пользователь начинает смахивать влево. Я ввел onTouch listener
и начал слушать ACTION_MOVE
, но он не получает вызван, потому что движение началось с соседнего завода. Как мне как-то заставить ACTION_MOVE
отследить свайп?
Я попытался реализовать onTouch для линейного макета, но он не работает с дочерними представлениями.
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
x1 = event.getX();
is_swipe = true;
break;
case MotionEvent.ACTION_MOVE:
x2 = event.getX();
float deltaX = x1 - x2;
if (Math.abs(deltaX) > MIN_DISTANCE && is_swipe) {
Toast.makeText(Chat_activity.this, "already met!", Toast.LENGTH_SHORT).show();
} else if (deltaX > 0 && is_swipe) {
text_time.setAlpha((1 - deltaX / MIN_DISTANCE));
Toast.makeText(Chat_activity.this, "trying to fade!", Toast.LENGTH_SHORT).show();
}
break;
case MotionEvent.ACTION_UP:
is_swipe = false;
break;
}
return true;
}
Я ожидал угасания тоста, но ничего не произошло.
Обратите внимание, что : x1
уже установлен в fab onTouchListener
.