Форум программистов, компьютерный форум CyberForum.ru

GestureDetector - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Узнать номер потока в котором исполняется функция http://www.cyberforum.ru/android-dev/thread1141267.html
Пытаюсь написать многопоточную программу и окончательно запутался... Много блокировок. Все в одном классе. Методы класса выполняются во втором потоке. Пытаюсь выводить ВСЕ в Log.i(), но этого мало. 1) Можно ли получить номер/код/ссылку на текущий поток, который вызывает Log.i() и вывести его? Что-бы хотя-бы отличать первый от второго. Подозреваю что доблокировался до того что все происходит...
Android Обработка кнопки гарнитуры Не блютуз, хотя не знаю, есть ли там разница. В общем, MEDIA_BUTTON'ом оно называется.. Андроид 4.1.2 Перепробовал всё, что с этим связано на SO, и оно НИКАК не реагирует на нажатие кнопки на гурнитуре :( http://www.cyberforum.ru/android-dev/thread1141118.html
Клон приложения на этом же телефоне Android
Написал приложение под Андроид. Теперь хочу запустить клон своего же приложения на том же телефоне. Однако, второе приложение не ставится рядом, а переустанавливается поверх первого. Что делать?
Поиск в Action Bar Android
Я разместил SearchView в Action Bar. <item android:id="@+id/search" android:actionViewClass="android.widget.SearchView" android:icon="@android:drawable/ic_search_category_default" android:showAsAction="collapseActionView|ifRoom" android:title="@string/menu_search"/> Почему, когда поле у SearchView пустое, справа нет крестика (если не пустое, то есть)? Если SearchView размещать...
Android Устройство не определяется через ADB http://www.cyberforum.ru/android-dev/thread1141094.html
ДД! При синхронизации планшета с ПК, ADB не видит данное устройство. В планшете включена опция Отладка по USB. Соответствующие драйвера были успешно установлены.
Android Передача данных между двумя устройствами Здравствуйте! Пишу простенькую(2d, спрайтовая анимация) игру под Android. Хочу реализовать режим на 2х. Вопросы: >1. Использовать блютуз? >2. В общих чертах, как это реализуется. Интересует именно архитектура. А то я уже 2 раза переписывал из-за этого... >3 Есть ли какие-то паттерны, которые желательно использовать? >4 Сложно ли перенести игру из 2d в 3d? Заранее спс! подробнее

Показать сообщение отдельно
glnix
14 / 14 / 5
Регистрация: 08.04.2013
Сообщений: 75
07.04.2014, 14:43     GestureDetector
Всем привет.
Вот никак не могу понять работу методов его listener'а.
Для начала код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package com.example.TouchSmpl;
 
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
 
public class MainActivity extends Activity implements GestureDetector.OnGestureListener, View.OnTouchListener {
    TextView tv1;
    GestureDetector gestureDetector;
    Context ctx;
    LinearLayout ll;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv1 = (TextView) findViewById(R.id.tv1);
        ll = (LinearLayout) findViewById(R.id.ll);
        ll.setOnTouchListener(this);
        ctx = this;
        gestureDetector = new GestureDetector(ctx, this);
 
    }
 
    private void Log(String msg) {
        final String LOGTAG = getPackageName();
        Log.d(LOGTAG, msg);
    }
 
    @Override
    public boolean onDown(MotionEvent motionEvent) {
        Log("onDown");
        return false;  //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public void onShowPress(MotionEvent motionEvent) {
        Log("onShowPress");
        //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public boolean onSingleTapUp(MotionEvent motionEvent) {
        Log("onSingleTapUp");
        return false;  //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) {
        Log("onScroll");
        return false;  //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public void onLongPress(MotionEvent motionEvent) {
        Log("onLongPress");
        //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) {
        Log("onFling");
        return false;  //To change body of implemented methods use File | Settings | File Templates.
    }
 
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log("onTouchEvent");
        return gestureDetector.onTouchEvent(event);
    }
 
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        Log("onTouchEvent");
        return false;
    }
}
Лог при одном нажатии на экран:
Кликните здесь для просмотра всего текста

04-07 16:33:50.032: DEBUG/com.example.TouchSmpl(13521): onTouchEvent
04-07 16:33:50.032: DEBUG/com.example.TouchSmpl(13521): onTouchEvent
04-07 16:33:50.032: DEBUG/com.example.TouchSmpl(13521): onDown
04-07 16:33:50.062: DEBUG/com.example.TouchSmpl(13521): onTouchEvent
04-07 16:33:50.062: DEBUG/com.example.TouchSmpl(13521): onSingleTapUp


И вот тут не могу понять:
1. Почему onTouchEvent вызывается несколько раз?
2. Как происходит определение типа жеста и срабатывание необходимого ему метода(onScroll, onFling и т.д.)?
3. Чем отличаются onTouch и onTouchEvent и почему onTouchEvent обязательный(IDE не предлагает его переписать при добавлении интерфейса к activity)?
4. На что влияют возвращаемые булевы значения?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru