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

Поставить View поверх другой и отключить touch - Android

Восстановить пароль Регистрация
 
Никита Гриб
2 / 2 / 0
Регистрация: 10.08.2014
Сообщений: 36
05.01.2016, 11:15     Поставить View поверх другой и отключить touch #1
Здравствуйте. Хочу реализовать следующее. Есть список на каждом итеме есть кнопки. Нажимаю на кнопку и поверх списка появляется View с загрузкой. Нужно чтобы пока эта вьюха будет висеть поверх списка экран не реагировал на нажатия и скролы. Делал addView. Но список скролится. Не делаю ProgressDialog так как список находится в Pager а если делать Progress диалог то он вообще блокирует всю активность. View.VISIBLE и View.INVISIBLE тоже не подходят так как тогда список пропадает а я хочу чтобы его было видно.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2016, 11:15     Поставить View поверх другой и отключить touch
Посмотрите здесь:

Android listview и touch
Android Как поставить поставить AsyncTask на паузу?
Android XML vs View
Отрисовка View Android
Android View поверх всех окон
Скопировать view Android
Android Обработка касания touch
Android Touch – обработка касания
Андроид анимация поверх всех view Android
Canvas, SurfaceView, Touch Android
Android Сериализация View
Android Красивые View

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1870 / 1604 / 493
Регистрация: 12.05.2014
Сообщений: 5,806
Завершенные тесты: 1
05.01.2016, 12:11     Поставить View поверх другой и отключить touch #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
одной строчкой взять и запретить врятли получится, поэтому
1. Заводим в активти или если листвью это свой кастомный класс то в нем, приватную переменную
Java
1
private boolean scrollDisabled = false;
2. на листвью вешаем onTouchListener
Java
1
2
3
4
5
6
listView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return scrollDisabled;
            }
        });
3. Когда надо запретить скроллинг, просто меняем значение переменной на true
Прикол в том, что если onTouch возвращает true это значит что он типа обработал касание и дальше обработчики (всякие onClick и так далее) уже не реагируют.
Когда снова надо скролл - меняем значение переменной на false.

Инвертировать переменную проще всего так
Java
1
        scrollDisabled = !scrollDisabled;
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
06.01.2016, 09:37     Поставить View поверх другой и отключить touch #3
"поверх списка появляется View с загрузкой"
если это сделано как Layer, то его можно обьявить clickable="true". и тогда если он накрывает весь экран, то он не будет пропускать эвент дальше.
Yandex
Объявления
06.01.2016, 09:37     Поставить View поверх другой и отключить touch
Ответ Создать тему
Опции темы

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