Обнаружение жестов броска на макете сетки



я хочу сделать fling обнаружение жестов работает в моем приложении для Android.



у меня есть GridLayout, который содержит 9 ImageViews. Источник можно найти здесь:раскладка сетки Romain Guys.



этот файл я беру от Ромена Гая приложение 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 Я не знаю, как сказать, что деятельность 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 (Адаптировано из фотопотока).



я смотрел на эти источники:




ничего не работает для меня до сих пор, и я надеялся на некоторые советы.

609   0  

Comments

    Ничего не найдено.