如何改变按钮的颜色,当它被按下,就像在一个测验应用程序



我愿意创建一个安卓测验应用程序。我已经做了所有的事情,我的应用程序是完成的,但我想使测验选项按钮改变它的颜色,当它是由用户按下,以显示答案是否正确或错误。我想显示红色按钮点击错误的选项和绿色正确的选项。请帮助我一个简单的代码,我可以嵌入在我保存的应用程序java文件。

你可以试试:

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

参考view# setBackgroundColor(int)和Color.
Button是View的子类

您可以使用StateListDrawable的android:state_selectedandroid: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

相关内容

  • 没有找到相关文章

最新更新