Я искал в Интернете, но не нашел ответа на мой вопрос. У меня есть кнопка, когда вы нажимаете ее, она будет воспроизводить звук. Проблема в том, что когда вы касаетесь кнопки на экране, она переходит в onClickListener()
только после того, как кнопка была выпущена. Мне нужно, чтобы он запускал слушателя, когда кнопка нажата не тогда, когда она отпущена, потому что это вызывает задержку при воспроизведении звука. Я пробовал onTouchListener()
, и он тоже не работал, потому что звук воспроизводится каждый раз, когда я перемещаю палец по кнопке. Я пробовал onKeyDown()
, но он не будет работать для экранных кнопок. Есть идеи? Некоторая помощь будет оценена.
Спасибо
Вы можете использовать OnTouchListener и проверить действие события:
public boolean onTouch (View v, MotionEvent event) {
if (event.getAction () == MotionEvent.ACTION_DOWN) { // ...
}
}
Возможно, вы все еще можете использовать свою реализацию для onTouchListener()
. Просто установите логический флаг, когда пользователь начнет касаться кнопки, тогда, когда он установлен true (это означает, что пользователь еще не отпустил кнопку), не воспроизводите звук. Когда пользователь отпускает кнопку (ACTION_UP), установите флаг обратно в значение false. Это означало бы, что вы готовы снова воспроизвести звук.
if(event.getAction() == MotionEvent.ACTION_DOWN){ Log.d("touching button------------------------", "YES"); }
спасибо за помощь