Android在点击时更改背景颜色
我正在尝试更改
Button
的背景颜色当它被单击时,我可以在按下Button
时更改背景颜色当我松开Button
按钮返回其默认颜色时。我不知道从哪里开始我一直在努力寻找解决这个问题的办法。
`
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.game.dice.MainActivity">
<Button
android:id="@+id/but1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 1"
android:background="@drawable/button_color"
/>
<Button
android:id="@+id/but2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 2"
android:background="@drawable/button_color"/>
</LinearLayout>
`
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@color/button_pressed"/>
<item android:state_focused="true"
android:drawable="@color/button_focused"/>
<item android:drawable="@color/button_default"/>
</selector>
解决方案
这是因为默认情况下,当触摸按钮时,它将接受单击而不是焦点。如果您希望按钮成为焦点并在按下时更改其颜色,请将此代码添加到XML语言中的按钮。
android:focusableInTouchMode="true"
相关文章