Мне понадобилось реализовать класс Button
для сенсорного экрана.
Являясь пользователем Android
, я, конечно же, понимаю, что если просто отслеживать попадание touchDown
по кнопке и активировать ее onClick
по touchUp
– не вариант. Пользователь может поставить палец на кнопку, потом передумать и сдвинуть его, а кнопка все равно нажмется.
Можно дополнительно отслеживать, что touchUp
был произведен тоже в границах кнопки. Но это все равно не очень удобно для пользователя, когда кнопка большая.
Тогда немного порыв в libgdx
-реализации кнопки я нашел нечто вроде tap square
. Как я понял, это что-то вроде квадратика вокруг точки, куда пользователь нажал. Если он поднял палец в границах квадратика &&
в границах кнопки, то клик проходит. Ну логично.
Тогда как правильно настроить размер этого квадратика? И ведь его нужно настраивать не просто в пикселях, а с учетом dpi
?
Буду признателен, если вкратце поясните, как это реализовано для виджета Button
в Android
, к примеру. Ссылочки тоже приветствуются.