0

我愿意创建一个 android 测验应用程序。我已经完成了所有事情,并且我的应用程序已完成,但我想让测验选项按钮在用户按下它时更改其颜色,以显示答案是正确还是错误。我想在单击错误选项时显示红色按钮,在正确选项上显示绿色按钮。请帮助我提供一个简单的代码,我可以将其嵌入到我预先保存的应用程序 java 文件中。

4

3 回答 3

0

你可以试试这个:

someButton.setBackgroundColor(Color.RED); // Wrong option
someButton.setBackgroundColor(Color.GREEN); // Correct option

请参阅View#setBackgroundColor(int)Color
Button 是 View 的子类。

于 2015-06-07T04:13:36.527 回答
0

可以通过xml结合StateListDrawableandroid:state_selectedandroid:state_enabled属性来实现效果。

您的按钮背景可以定义为下面的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);
于 2015-06-07T04:29:44.560 回答
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
于 2015-06-07T04:49:46.003 回答