我的应用首次启动时会加载以下片段。 它只显示一个看起来像横幅的按钮,并提示用户采取特定的操作。
现在,此按钮在3秒钟内淡入淡出。
按钮是紫色的,但我想做的是让它淡入淡出3次,先是紫色,然后是蓝色,然后是绿色。 (我还有两个我想要使用的按钮/横幅。)
紫色按钮:3秒淡化/淡出+ 6秒等待蓝色按钮: 3秒等待+ 3秒fadein / fadeout + 3sec等待
绿色按钮:6秒 等待+ 3秒fadein / fadeout
所有这一切都在无尽的圈子里。 我怎么能这样做?
public class StartFragment extends Fragment
{
AlphaAnimation fadeIn = new AlphaAnimation(0.0f , 1.0f );
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.start, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState)
{
super.onViewCreated(view, savedInstanceState);
Button scanBanner = (Button) getView().findViewById(R.id.ScanBanner);
fadeIn.setDuration(1500);
scanBanner.startAnimation(fadeIn);
fadeIn.setRepeatCount(Animation.INFINITE);
fadeIn.setRepeatMode(Animation.REVERSE);
}
}
答案 0 :(得分:1)
您可以添加动画侦听器来更改颜色。注意每隔一次重复只改变颜色,以便首先将淡出淡出为零。
fadeIn.setAnimationListener(new AnimationListener() {
private int cycle = 0;
public void onAnimationRepeat() {
cycle = (cycle + 1) % 6;
if (cycle == 0) {
scanBanner.setBackgroundResource(R.drawable.purple);
} else if (cycle == 2) {
scanBanner.setBackgroundResource(R.drawable.blue);
} else if (cycle == 4) {
scanBanner.setBackgroundResource(R.drawable.green);
}
}
});