2015-01-15 6 views
0

Я вроде новой для андроид и использую этот код, чтобы изменить цвет фона Button при клике:Установить цвет фона кнопки Кратковременно - андроид

but3.setBackgroundColor(Color.GREEN); 

Но он остается таким образом и не верните первоначальный цвет после нажатия. Я бы хотел, чтобы он вернулся. Пожалуйста помоги. Вот еще код.

but3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ Button answerButton = ((Button) v); String answer = answerButton.getText().toString(); if(currentQ.getANSWER().equals(answerButton.getText())) { score++; Log.d("score", "Your score"+score); but3.setBackgroundColor(Color.GREEN); but3.invalidate(); } if(qid<20){ currentQ=quesList1.get(qid); setQuestionView(); } else{
Intent intent = new Intent(ScratchActivity1.this, ResultActivity.class); Bundle b = new Bundle(); b.putInt("score", score); intent.putExtras(b); startActivity(intent); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); finish(); }

+0

Это зависит в этом случае вы хотите изменить его обратно. Опубликуйте более подробную информацию. – localhost

+0

Подробнее см. Выше. Я хочу кнопку с правильным ответом (это приложение для викторины), чтобы мгновенно перейти к определенному цвету, чтобы уведомить пользователя. То же самое касается неправильного ответа. –

ответ

0

Если вы хотите изменить цвет фона при нажатии кнопки или сосредоточена проверить here, чтобы увидеть, как вы можете создавать собственные фоны за состояние (состояние бытия, когда кнопка нажата, сосредоточенная, выбрана и т.д.).

Если вы хотите просто изменить цвет фона через некоторое время прошло заглядывать с помощью обработчика:

final Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
    //This will run after 1000 (defined below) milliseconds has passed 
    } 
}, 1000); 
+0

Обработчик был полезен при попытке решить проблему. Я использовал следующий код для изменения фона кнопки: 'but3.setBackgroundColor (Color.GREEN);' И тогда в методе run() обработчик задает фон исходному цвету кнопки: например. 'but3.setBackgroundColor (Color.BLACK);' Проблема у меня была в том, что исходный фон кнопки должен был быть установлен на черный, чтобы он работал правильно. Другие цвета дали странные результаты, возможно, у кого-то есть ответ на этот вопрос. –

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