2015-06-07 2 views
0

Я готов создать приложение для викторины Android. Я сделал все, и мое приложение завершено, но я хотел бы, чтобы кнопки параметров викторины меняли свой цвет, когда он был нажат пользователем, чтобы показать, правильный ответ или неправильный ответ. Я хотел бы показать кнопку красного цвета при нажатии неправильной опции и зеленый на правильной опции .Пожалуйста, помогите мне с простым кодом, который я могу встроить в мои предварительно созданные Java-файлы приложения.Как изменить цвет кнопки при нажатии, как в приложении для викторины?

+1

У вас есть пример кода для вашей конкретной проблемы? Я рекомендую попробовать реализовать его самостоятельно и опубликовать код, с которым у вас возникла проблема с работой. http://developer.android.com/reference/android/widget/Button.html – Darxval

+0

Возможный дубликат [Состояние нажатой кнопки Android] (http://stackoverflow.com/questions/10019367/pressed-android-button-state) – Shahzeb

ответ

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 

 Смежные вопросы

  • Нет связанных вопросов^_^