Я хочу, чтобы в моем приложении для Android работало fling
распознавание жестов.
У меня есть GridLayout
, который содержит 9 ImageView
с. Источник может быть найден здесь: Схема решетки Romain Guys's .
Этот файл, который я взял, взят из приложения Фотопотока Ромена Гая и только слегка адаптирован.
Для простой ситуации щелчка мне нужно установить onClickListener
для каждого ImageView
, который я добавляю в качестве основного activity
, который реализует View.OnClickListener
. Кажется, что бесконечно сложнее реализовать что-то, что распознает fling
. Я предполагаю, что это потому, что это может охватывать views
?
Если моя деятельность реализуется
OnGestureListener
я не знаю как
установить это в качестве слушателя жестов для
Grid
или Image
просмотров, которые я
добавить.
public class SelectFilterActivity extends Activity implements
View.OnClickListener, OnGestureListener { ...
Если моя деятельность реализуется
OnTouchListener
тогда у меня нет
onFling
метод до override
(имеет
два события в качестве параметров, позволяющих мне
чтобы определить, был ли бросок
Примечательно).
public class SelectFilterActivity extends Activity implements
View.OnClickListener, OnTouchListener { ...
Если я создаю пользовательский View
, например GestureImageView
, который расширяет ImageView
Я не знаю, как определить действие, которое fling
произошло из представления. В любом случае, я попробовал это, и методы не вызывались, когда я касался экрана.
Мне действительно нужен конкретный пример этой работы через представления. Что, когда и как мне прикрепить этот listener
? Мне также нужно уметь распознавать отдельные щелчки.
// Gesture detection
mGestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
int dx = (int) (e2.getX() - e1.getX());
// don't accept the fling if it's too short
// as it may conflict with a button push
if (Math.abs(dx) > MAJOR_MOVE && Math.abs(velocityX) > Math.absvelocityY)) {
if (velocityX > 0) {
moveRight();
} else {
moveLeft();
}
return true;
} else {
return false;
}
}
});
Можно ли наложить прозрачный вид поверх моего экрана для захвата бросков?
Если я решу не inflate
представления моего дочернего изображения из XML, могу ли я передать GestureDetector
в качестве параметра конструктора в новый подкласс ImageView
, который я создаю?
Это очень простое действие, для которого я пытаюсь заставить работать обнаружение fling
: SelectFilterActivity (адаптировано из фотопотока) .
Я искал эти источники:
Пока у меня ничего не получалось, и я надеялся на несколько указателей.