Я хочу получить обнаружение gesture fling
, работающее в моем приложении для Android.
У меня есть GridLayout
, который содержит 9 ImageView
s. Источник можно найти здесь: Розетка Grid Grid Layout.
Этот файл я беру от Romain Guy приложение Photostream и только немного адаптировался.
Для простой ситуации щелчка мне нужно только установить 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
, я не знаю, как сообщить о действии, что afling
произошло из представления. В любом случае, я пробовал это, и методы не вызывались, когда я касался экрана.
Мне действительно нужен конкретный пример этой работы над представлениями. Что, когда и как мне прикрепить этот 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 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 (адаптировано из фотопотока).
Я смотрю на эти источники:
Ничего не работало для меня до сих пор, и я надеялся на некоторые указатели.