我愿意创建一个安卓测验应用程序。我已经做了所有的事情,我的应用程序是完成的,但我想使测验选项按钮改变它的颜色,当它是由用户按下,以显示答案是否正确或错误。我想显示红色按钮点击错误的选项和绿色正确的选项。请帮助我一个简单的代码,我可以嵌入在我保存的应用程序java文件。
你可以试试:
someButton.setBackgroundColor(Color.RED); // Wrong option
someButton.setBackgroundColor(Color.GREEN); // Correct option
参考view# setBackgroundColor(int)和Color.
Button是View的子类
您可以使用StateListDrawable的android:state_selected
和android:state_enabled
属性的组合来通过xml实现效果。
你的按钮背景可以定义为可绘制的
<selector>
<item android:drawable="@drawable/default_button_background" />
<item android:state_selected="true" android:state_enabled="true" android:drawable="@drawable/correct_answer_background" />
<item android:state_selected="true" android:state_enabled="false" android:drawable="@drawable/wrong_answer_background"
</selector>
和在代码中。点击按钮添加以下代码
boolean isAnswerCorrect = //your logic to check if answer is correct or not
clickedButton.setEnabled(isAnswerCorrect);
在下面的方法中,您需要为按钮的背景创建两个图像文件,以表示正确或错误。
在res下创建一个名为Drawable的文件夹,并将这两个图像文件放入其中,然后按如下所示命名为R.drawable.filename
。
buttonCheckAnswerObject = (Button)findViewById(R.id.buttonCheckAnswer);
buttonCheckAnswerObject.setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View v) {
boolean userAnswer;//check if correct
if (userAnswer){
v.setBackgroundResource(R.drawable.button_correct_answer_color);
}
else {
v.setBackgroundResource(R.drawable.button_false_answer_color);
}
}
});
enter code here