我愿意创建一个Android测验应用。我已完成所有操作并且我的应用已完成,但我想让测验选项按钮在用户按下时更改其颜色,以显示答案是正确还是错误。 我想在点击错误选项时显示红色按钮,在正确的选项上显示绿色。请帮我一个简单的代码,我可以嵌入我预先存储的应用程序java文件中。
答案 0 :(得分:0)
你可以试试这个:
someButton.setBackgroundColor(Color.RED); // Wrong option
someButton.setBackgroundColor(Color.GREEN); // Correct option
请参阅View#setBackgroundColor(int)和Color Button是View的子类。
答案 1 :(得分:0)
您可以使用android:state_selected
的{{1}}和android:state_enabled
属性的组合来通过xml实现效果。
您的按钮背景可以定义为
下面的drawable<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);
答案 2 :(得分:0)
在以下方法中,您需要为按钮上的背景创建两个图像文件以表示正确或错误。
在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