对于我的应用程序,我想要一个多色的频闪灯,我该怎么做?
答案 0 :(得分:0)
如果您想要不同的颜色等,那么您只需在XML中创建View
即可占用整个屏幕宽度。然后根据AlarmManager
,您可以使用setBackground()
使其成为您选择的颜色。
使用Handler
代替AlarmManager
可能更有利,但您可以同时查看两者以了解哪些内容符合您的需求。
答案 1 :(得分:-1)
如果您希望屏幕以不同颜色闪烁,那么只需制作一个计时器并让主视图经常更改背景颜色。
javax.swing.Timer可以用来经常更改屏幕:
Timer colorChanger = new Timer(500 /*milis between each color change*/, new TimeListener(this) );
colorChanger.start();
其中TimeListener
将是ActionListener
,用于更改指定活动的背景颜色。 TimerListener可能如下所示:
public class TimerListener implements ActionListener {
public TimerListener(Activity activity) {
this.backgroundToChange = activity;
}
private Activity backgroundToChange = null; // the activity who's background we will change
private int numFrames = 0; //the number of frames that have passed
public void actionPerformed(ActionEvent evt) { //happens when the timer will go off
numFrames++;
switch ( numFrames % 2 ) { // every other time it will make the background red or green
case 0: backgroundToChange.getContentView().setBackgroundColor(Color.RED);
case 1: backgroundToChange.getContentView().setBackgroundColor(Color.GREEN);
}
}
}
你需要导入javax.swing.Timer,ActionListener和ActionEvent都在java.awt.event中。
如果你正在使用android,你可能想考虑使用另一个专为Android设计的类而不是Timer。定时器专为挥杆而设计,如果你在android上使用它可能效果不佳。任何其他像类这样的计时器都会像Timer一样工作。