Я уже искал переполнение стека, но просто не могу найти правильный ответ для своего случая.
В настоящее время я пишу приложение для викторины в Android Studio и застрял на мигающих кнопках, был ли ответ правильным или нет.
Если ответ правильный, он должен мигать зеленым, а если ответ неправильный, мигать красным.
Это одна из моих кнопок ответа:
<Button
android:id="@+id/choice1"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginBottom="24dp"
android:fontFamily="@font/aldrich"
android:padding="8dp"
android:textColor="#fff"
android:background="@drawable/rounded_button"/>
с этим фоном:
<solid android:color="#eeffffff" />
<corners android:bottomRightRadius="12dp"
android:bottomLeftRadius="12dp"
android:topRightRadius="12dp"
android:topLeftRadius="12dp"/>
Чтобы просмотреть ответ, я использую этот onlickListener:
mButtonChoice1.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View view) {
if (mButtonChoice1.getText() == mAnswer) {
blinkEffectGreen1();
Toast.makeText(QuizActivity.this,"Richtig!",
Toast.LENGTH_SHORT).show();
}
else {
blinkEffectRed1();
Toast.makeText(QuizActivity.this, "Falsch," + " richtig
wäre " + mAnswer + " gewesen", Toast.LENGTH_SHORT).show();
}
mButtonChoice1.setBackgroundResource(R.drawable.rounded_button);
updateQuestion();
}
});
Я пытаюсь использовать mButtonChoice1.setBackgroundResource (R.drawable.ounded_button); чтобы снова придать кнопке круглую форму, потому что мой метод мигания формирует ее, как прямоугольник, во время мигания.
Мой метод blinkEffect выглядит следующим образом:
private void blinkEffectRed1(){
ObjectAnimator animator = ObjectAnimator.ofInt(mButtonChoice1,
"backgroundColor", Color.RED , Color.parseColor(("#ff669900")));
animator.setDuration(250);
animator.setEvaluator(new ArgbEvaluator());
animator.setRepeatCount(2);
animator.setRepeatMode(ValueAnimator.REVERSE);
animator.start();
}
Проблема в том, что приложение не устанавливает фон снова как roundnded_button, а кнопка остается прямоугольником.
Почему это происходит, и как заставить круглую кнопку мигать и снова включить ее?
Если на этот вопрос уже есть ответ, прошу прощения, пожалуйста, дайте мне ссылку.
Спасибо!