我正在开发一个问题游戏,如果答案正确,我想将答案按钮按下背景颜色变为绿色,或者如果用户按下按钮时答案错误,则将红色变为红色。
实际上我有一个custom_button.xml,我将其分配给布局中的按钮:
<Button
android:id="@+id/la"
android:width="63dp"
android:height="65dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/la"
android:tag="@string/la"
android:layout_toRightOf="@+id/fa"
**android:background="@drawable/custom_button"**
android:layout_margin="3dp"
/>
有没有办法在用户按下按钮时更改按钮的按下背景?
我尝试在按钮OnClickListener中使用setBackgroundDrawable(),但这会更改用户下次单击按钮时的按钮行为,而不是实际的按钮行为。
bt.setBackgroundDrawable(getResources().getDrawable(R.drawable.custom_button_fail));
提前感谢!
答案 0 :(得分:6)
我尝试在按钮OnClickListener中使用setBackgroundDrawable(),但这会更改用户下次单击按钮时的按钮行为,而不是实际的按钮行为。
这是因为按下按钮后会调用onClick
方法。你最好的选择是:
onCreate
,根据答案是否正确,为按钮指定正确的背景。顺便说一下,有一个更短的方法:
bt.setBackgroundResource(R.drawable.custom_button);