Кнопка «Нажми и удерживай» на 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);
    }

Но это похоже на взлом, и этоне хватает "сосредоточены, но не нажаты этап.

Кто-нибудь сталкивался с этим раньше?

Ответы на вопрос(5)

Ваш ответ на вопрос