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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
b0nny
3 / 1 / 0
Регистрация: 11.11.2013
Сообщений: 346
#1

Получить касание при FLAG_NOT_TOUCHABLE - Программирование Android

18.08.2016, 16:44. Просмотров 182. Ответов 0
Метки нет (Все метки)

WindowManager на весь экран. Я его создавал исключительно, чтобы перехватить нажатие даже там, где есть навигационная панель. Установлен флаг FLAG_NOT_TOUCHABLE, что даёт кликабельность всего за окном, но нажатия так и не ловим. Помогите сделать, чтобы ловились нажатия. Если поменять FLAG_NOT_TOUCHABLE на другой, то само собой нажатия ловятся. Но так мне не пойдёт.
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
static WindowManager.LayoutParams createLayoutParams(Context context) {
        //Resources res = context.getResources();
        final WindowManager.LayoutParams params =
                new WindowManager.LayoutParams(
                        MainActivity.xDisplay, MainActivity.yDisplay + MainActivity.navBarHeight, // Устанавливаем ПОЛНЫЕ размеры
                        TYPE_TOAST,
                        FLAG_NOT_FOCUSABLE
                                | FLAG_NOT_TOUCHABLE
                                | FLAG_LAYOUT_NO_LIMITS
                                | FLAG_LAYOUT_INSET_DECOR
                                | FLAG_LAYOUT_IN_SCREEN
                                | FLAG_HARDWARE_ACCELERATED,
                        TRANSLUCENT
                );
        params.gravity = Gravity.LEFT | Gravity.TOP;
        return params;
    }
 
@Override
    public boolean onTouch(View v, MotionEvent event) {
        x = event.getX();
        y = event.getY();
 
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN: // нажатие
                Log.d("Touch", sDown + "\n" + sMove + "\n" + sUp);
                sDown = "Down: " + x + "," + y;
                sMove = ""; sUp = "";
                break;
            case MotionEvent.ACTION_MOVE: // движение
                sMove = "Move: " + x + "," + y;
                break;
            case MotionEvent.ACTION_UP: // отпускание
            case MotionEvent.ACTION_CANCEL:
                sMove = "";
                sUp = "Up: " + x + "," + y;
                break;
        }
        return true;
    }
Добавлено через 9 минут
Я что-то ещё не понимаю, как можно рисовать тогда на нав баре и на получать оттуда нажитие, а из других областей получать. Ну что за блин.
http://prntscr.com/c7b2r6
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2016, 16:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получить касание при FLAG_NOT_TOUCHABLE (Программирование Android):

Касание в EditText - Программирование Android
Подскажите пожалуйста, как можно обработать касание в EditText. Нужно при касании менять цвет, но не знаю как правильно вызвать обработчик...

Пропустить касание через окно - Программирование Android
Делаю приложение которое будет в Service отлавливать события. Использую WindowManager для создания прозрачного окна в Service.Можно ли...

Копирование текста во время касание - Программирование Android
Как сделать так чтобы по нажатию на текста, текст копировался в буфер обмена?(на Android Studio)

Некорректная реакция на касание элемента GridView - Программирование Android
У меня есть адаптер и в нем обработчик касания, который во-время касания выводить текст с того элемента на котором было осуществлено...

Каким образом мультитач определяет второе и последующее касание? - Программирование Android
Уважаемы форумчане, есть какое то объяснение по такому вопросу? Каким образом мультитачь определяет второе и последующее касание? ...

Сенсорный дисплей не правильно реагирует на касание. Сброс настроек - Программирование Android
Здравствуйте у меня имеится телефон Hero H8 китаец игрался им сбросил настройки после перезагрузки надо было прокалибровать телефон а я...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2016, 16:44
Привет! Вот еще темы с ответами:

Однократное касание пальцем при мультитаче - ActionScript
Привет всем! Есть такая проблема: когда создал проект на андроид, то заметил, что мои объекты могут реагировать на несколько касаний...

Касание парабол - Геометрия
При каком значении a параболы y=x2 и x=y2+a касаются? P.S.Задачка несложная, но ответ забавный.

Касание бордеров - HTML, CSS
Можно ли как-то сделать, чтобы не было зазора между бордерами отдельных ячеек? <html> <head> <title>Таблица</title> </head> ...

Проверка на касание статика - C++ WinAPI
Подскажите пожалуйста как проверить мышь на касание статика Допустим я через ресурсы создал статик и хочу при наведение или просто на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru