У меня есть button_animation.xml в папке res/drawable для отображения различных состояний кнопок (по умолчанию, нажата, сфокусирована). Я ссылаюсь на button_animation.xml на кнопку в моем файле макета. Он отлично работает, за исключением случаев, когда я устанавливаю onTouchListener на кнопку, которая на самом деле нажата. Ниже мой код.onTouchListener переопределяет пользовательский фон на вид кнопки?
button_animation.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/button_focused"
android:state_focused="true" />
<item android:drawable="@drawable/button_default" />
</selector>
layout.xml
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_animation" />
код, который вызывает анимация сломать
Button button = (Button) findViewById(R.id.button1);
button.setOnTouchListener(this);
Я не могу показать состояние кнопки, как предлагает документация, и обрабатывать onClick одновременно для любого конкретного вида?
Документация: http://developer.android.com/guide/topics/ui/controls/button.html
Спасибо,
Jason
Для этого приложения, когда пользователь удерживает кнопку, будет воспроизводиться тон до тех пор, пока кнопка не будет отпущена. Как я могу добиться этого с помощью OnClickListener? – Jason
Я изменил ответ – Shadesblade
Это именно то, что я придумал для onTouchListener, но не был уверен, что это был самый эффективный способ. Я буду придерживаться такого подхода, спасибо! – Jason