Что-то с моей подачи от темы отклонились. Прошу прощенья. Так вот. На том-же хабре натолкнулся на статью типа "как вы блокируете дублирование нажатия на контрол". Поясню. Допустим, на кнопку "повешан" диалог. Если ее быстро тапнуть дважды, то может произойти ситуация, когда откроется два диалога, один над другим. Это прото пример, ситуации бывают разные. Кто и как борятся с этим, и борятся ли вообще?
dimy44, а можно ж кнопку сначала убрать или заблокировать? А потом действие. Я например прячу просто отображение кнопки, и потом только команда выполняется
Zaterehniy, Жень, вот как раз этот топик и вызвал у меня воспоминания, и я написал). DimonVideo, Димон, ну это да, но я впопыхах пример тогда привел. А если кнопки вряд, и пользователь поочереди пощелкал (многие говорят, что, мол, он дурак, его проблемы, но ведь бывают ситуации, когда юзер прмахнулся и инстинктивтивно решил "исправить ситуацию", тут-же клацнув соседнюю кнопку. Тогда, в определенных ситуациях, может произойти конфуз вплоть до крэша. Или другая ситуация - на кнопку повешан popupmenu, и тогда, блокировать ее это пол-дела, т.к. второй тап при "дребезге" уже приходится не на кнопку, а на растущее окошко popupmenu, пусть пока в зачаточном состоянии из-за малых значений scaleX/Y, но жизнеспособно для клика. И получается клик на пункт меню, причем любой - хоть вконце списка, ибо окошко списка пунктов маленькое, куда попадешь. Т.е. имхо надо дополнительно проверять разницу между моментом клика по кнопке и по пункту меню, и если она, скажем, меньше времени анимации появления popupmenu, то return true и ниче не делаем. А в других случаях, например undo/redo в текстовом редакторе от такой блокировки один вред. К чему я все это пишу и собственно спросил. Читаю мнения спецов - пишут, мол, если каждому контролу внимание уделять в этом плане, то потом вы что-то упустите, все пойдет не так и вообще это не по ф:н-шую. А я вот репу чешу - ну да, я вася лузер аматор, но что так сложно пару строк проверки прописать перед действием, да, не только в одном месте. Тогда, судя этой логике, вообще надо контролов избегать, а то ведь каждому надо вешать listener, а вдруг забудешь? Или как?
dimy44, да , странная ситуация в этом плане. Андройд не имеет инструментов для таких случаев и тут уж каждый разработчик сам должен придумывать свой велосипед.
Zaterehniy, Во, велосипед. Почему-то, действия, отклоняющиеся от каких-то шаблонов, принято называть "велосипед". Где-то да, а где-то может и наоборот- оригинальное решение.
dimy44, кстати Дим, помню ты спрашивал насчёт программы , которая накладывает прозрачное изображение поверх всего на экране. Тогда ещё речь шла о том чтобы делать более точные снимки типа до/после. Недавно наткнулся на что то подобное: Cсылка глянь, вдруг оно.
Уважаемый разработчик! Вы когда-нибудь слышали о приложении: «Это не выглядит, как наш дизайн!» DesignDiff является инструментом, чтобы помочь вам улучшить свои макеты. Доступные функции: • Не только наложения полного экрана доступны Загрузите любое изображение, которое вы любите и трансформировать его, как вам нужно:. Ход, масштаб, пригодный для вертикальных и горизонтальных краев экрана. • Используйте альфа и слайдера режимы для достижения пикселей совершенных в ваших приложениях. • Измерение разницы с гидами в дп единиц. Увеличиваем экран руководства по настройке точно и увидеть больше. • Запуск приложения Быстрые настройки плитка на Android 7.0 Нуги и имеет DesignDiff всегда поверх ваших приложений.