Я готов создать приложение для викторины Android. Я сделал все, и мое приложение завершено, но я хотел бы, чтобы кнопки параметров викторины меняли свой цвет, когда он был нажат пользователем, чтобы показать, правильный ответ или неправильный ответ. Я хотел бы показать кнопку красного цвета при нажатии неправильной опции и зеленый на правильной опции .Пожалуйста, помогите мне с простым кодом, который я могу встроить в мои предварительно созданные Java-файлы приложения.Как изменить цвет кнопки при нажатии, как в приложении для викторины?
0
A
ответ
0
Вы можете попробовать это:
someButton.setBackgroundColor(Color.RED); // Wrong option
someButton.setBackgroundColor(Color.GREEN); // Correct option
См View#setBackgroundColor(int) и Color.
Кнопка является подклассом View.
0
Вы можете использовать комбинацию android:state_selected
и android:state_enabled
свойства StateListDrawable, чтобы добиться эффекта через 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);
0
В следующем подходе, вам нужно будет создать два файла изображения для фона на кнопку, чтобы представлять правильно или ложно.
Создайте папку под названием «Поднимаемый под разрешением» и разместите там эти два файла изображений, затем назовите их, как показано ниже, как, 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
У вас есть пример кода для вашей конкретной проблемы? Я рекомендую попробовать реализовать его самостоятельно и опубликовать код, с которым у вас возникла проблема с работой. http://developer.android.com/reference/android/widget/Button.html – Darxval
Возможный дубликат [Состояние нажатой кнопки Android] (http://stackoverflow.com/questions/10019367/pressed-android-button-state) – Shahzeb