我想让我的按钮在两种颜色之间切换三次背景颜色 - btn_tp_dark 和 btn_tp_light
Timer timer = new Timer();
timer.schedule(new TimerTask() {
private View Button;
public void run() {
Button = (View) findViewById(R.id.filmTransparent11);
Button.setBackgroundResource(R.drawable.btn_tp_dark);
}
}, 300);
应该模拟闪烁效果,但我不知道如何实现这一点。
<Button
android:id="@+id/filmTransparent11"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="11"
android:background="#00000000"
android:onClick="next1" />
答案 0 :(得分:1)
不要在android中使用Timer
。而是使用Handler
。
您可以像这样创建一个循环任务:
final Button button = (View) findViewById(R.id.filmTransparent11);
final Handler handler = new Handler();
final Runnable changeBackground = new Runnable() {
private int i;
@Override
public void run() {
// Set background based on task execution counter
if (++i % 2 == 0) {
button.setBackgroundResource(R.drawable.btn_tp_light);
} else {
button.setBackgroundResource(R.drawable.btn_tp_dark);
}
// Repeat task
handler.postDelayed(this, 300);
}
};
// Initiate the task
handler.postDelayed(changeBackground, 300);
答案 1 :(得分:0)
实现它的一种方法是使用ValueAnimator和ArgInterpolator。动画的持续时间为300毫秒,您可能希望使用ValueAnimator.INFINITE
和ValueAnimator.REVERSE
作为重复模式