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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.88
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
#1

Отключить мультитач - Android

19.03.2014, 21:17. Просмотров 2230. Ответов 3
Метки нет (Все метки)

Здравствуйте. Как сделать так чтобы не обрабатывались касания если их больше одного? Тоесть есть 10 кнопок с одинаковым листенером нужно сделать так чтобы нельзя было нажать одновременно больше одной кнопки. Пробовал в листенере отключить все кнопки при нажатии одной, а через некоторе время опять включить. Если нажимать по одной то кнопки на время отключаются, но если нажать сразу по двум, то нажимаются обе.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2014, 21:17     Отключить мультитач
Посмотрите здесь:

Android Мультитач на всех версиях Android
Android Отключить другое устройство из сети
Android Маштабирование мультитач
мультитач зум Android
Как отключить кнопку Back в приложении? Android
Как отключить светодиод? Android
Android Отключить выбор элемента в Spinner
Как отключить Google Now? Android
Как отключить рекламу? Android
Как отключить статус на android > 4.6 Android
Android Каким образом мультитач определяет второе и последующее касание?
Программно отключить зарядку по USB Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
19.03.2014, 22:31     Отключить мультитач #2
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Тоесть есть 10 кнопок с одинаковым листенером нужно сделать так чтобы нельзя было нажать одновременно больше одной кнопки.
Все ваши кнопки должны быть внутри одного контейнера для которого свойство splitMotionEvents установлено в false. Вот пример :

XML
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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:splitMotionEvents="false">
 
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" 
        android:onClick="onClick"/>
 
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" 
        android:onClick="onClick"/>
 
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" 
        android:onClick="onClick"/>
 
</LinearLayout>
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
19.03.2014, 22:49  [ТС]     Отключить мультитач #3
Попробовал. Если нажимать одновременно, то работает хорошо. Но вот если немножко задержать второй палец, все равно срабатывают обе. Решил проблему переносом всего с onClick на onTouch и при нажатии на кнопку остальные на время отключаются примерно так:

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
for(int i = 0; i < 10; i++){
                    
                    
                    
                    btn[i].setEnabled(false);
                    
                    
                }
 
 
//
//Тут код для кнопки
//
 
 
 
Handler handler = new Handler(); 
                handler.postDelayed(new Runnable() { 
                     public void run() { 
                           
                           for(int i = 0; i <10; i++){                  
                                                                        
                            btn[i].setEnabled(true);  
                                                                        
                           }                                            
                     } 
                }, 200);

Это нормально вообще?))
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
19.03.2014, 22:55     Отключить мультитач #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Это нормально вообще?))
Не очень
Уж лучше в момент прикосновения к кнопке запрещать клики по остальным, а когда палец убирают - снова разрешать. (Это теория, я не проверял как это будет работать на деле)
Yandex
Объявления
19.03.2014, 22:55     Отключить мультитач
Ответ Создать тему
Опции темы

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