У меня есть кнопка, при нажатии которой я хочу, чтобы кнопка отображалась в flash путем переключения между двумя цветами фона.Android, установить цвет фона кнопки с анимацией?
This ответ использует AlphaAnimation
сделать мигающую кнопку:
final Animation animation = new AlphaAnimation(1, 0); // Change alpha from fully visible to invisible
animation.setDuration(500); // duration - half a second
animation.setInterpolator(new LinearInterpolator()); // do not alter animation rate
animation.setRepeatCount(Animation.INFINITE); // Repeat animation infinitely
animation.setRepeatMode(Animation.REVERSE); // Reverse animation at the end so the button will fade back in
final Button btn = (Button) findViewById(R.id.your_btn);
btn.startAnimation(animation);
Но я не мог заставить его работать с цветом фона.
Android-студия будет автоматически выполнить следующие действия:
animation = new Animation() {
@Override
public void setBackgroundColor(int bg) {
super.setBackgroundColor(bg);
}
};
Но я пытался применить его к кнопке (с bg = Color.parseColor("#ffff9434")
), но не кости.
Заранее спасибо.
EDIT
также попытался следующие, но он устарел и не работает (от here)
Button btn = (Button)this.findViewById(R.id.btn1);
//Let's change background's color from blue to red.
ColorDrawable[] color = {new ColorDrawable(Color.BLUE), new ColorDrawable(Color.RED)};
TransitionDrawable trans = new TransitionDrawable(color);
//This will work also on old devices. The latest API says you have to use setBackground instead.
btn.setBackgroundDrawable(trans);
trans.startTransition(5000);
ETID 2
Понял работает, см ответ ниже
Нашли решение и отправили ответ, но я уйду, так что у других людей есть четыре решения вместо трех. – Birrel
ok sir, хорошо .. ........ – Elltz