Кнопка «Нажми и удерживай» на Android должна изменить состояния (пользовательский селектор XML) с помощью onTouchListener
у нас есть кнопка, которая должна иметьнажмите и удерживайте функциональность, поэтому вместо использования onClickListener, яиспользуя onTouchListener, чтобы приложение могло реагировать на
MotionEvent.ACTION_DOWN,
а также
MotionEvent.ACTION_UP
В зависимости от того, как быстро сработают эти два события, я могу запуститьpressAndHoldHandler» во время между двумя.
Во всяком случае, короче говоря: у меня есть многочисленные "основной» кнопки в том же приложении, которое неНе требуется функциональность нажатия и удержания, поэтому они используют onClickListener.
Каждая из этих кнопок была настроена графически с помощью собственного файла XML-селектора:
Итак, проблема здесь в следующем: вышеупомянутый селектор неДоступ к нему осуществляется с помощью onTouchListener. Только onClickListener будет извлекать изменения состояния с помощью раздела onClick () своего собственного метода, поэтому они "нажмите и удерживайте кнопки никогда не меняют состояние. Довольно ужасная обратная связь для пользователя.
m в настоящее время форсирует вышеупомянутое внутри случая переключения ACTION_DOWN и ACTION_UP, выполнив следующее:
if (action == MotionEvent.ACTION_DOWN) {
btn_chicken.setBackgroundResource(R.drawable.btn_chicken_s3);
}
else
if (action == MotionEvent.ACTION_UP) {
btn_chicken.setBackgroundResource(R.drawable.btn_chicken_off);
}
Но это похоже на взлом, и этоне хватает "сосредоточены, но не нажаты этап.
Кто-нибудь сталкивался с этим раньше?