[英]How to dynamically change a pressed button background color?
我正在开发一个问题游戏,我想将答案按钮按下的背景颜色更改为绿色(如果答案正确),或者将红色更改为红色(如果答案错误),就在用户按下按钮的那一刻。
实际上,我有一个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));
提前致谢!
我尝试在按钮OnClickListener内使用setBackgroundDrawable(),但这会在用户下次单击按钮时更改按钮的行为,而不是实际的。
这是因为按下按钮后会调用onClick
方法。 您最好的选择是:
onCreate
上,根据答案是否正确为按钮分配正确的背景。 顺便说一句,有一个较短的方法:
bt.setBackgroundResource(R.drawable.custom_button);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.