-2

对于我的应用程序,我想要一个具有多种颜色的频闪灯来播放,我该怎么做?

4

2 回答 2

0

如果你想要不同的颜色等等,那么你可以View在你的 XML 中创建一个来占据整个屏幕宽度。然后根据AlarmManager您可以使用setBackground()的颜色使其成为您选择的颜色。

Handler使用 a而不是可能更有益AlarmManager,但是您可以同时查看两者以查看适合您的需求。

于 2012-08-08T19:45:15.580 回答
-1

如果您希望屏幕以不同的颜色闪烁,只需制作一个计时器并让主视图每隔一段时间更改一次背景颜色即可。

javax.swing.Timer 可用于每隔一段时间更改屏幕:

Timer colorChanger = new Timer(500 /*milis between each color change*/, new TimeListener(this) );
colorChanger.start();

whereTimeListenerActionListener改变指定活动的背景颜色。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,则可能需要考虑使用除 Timer 之外的另一个专为 android 设计的类。Timer 专为摇摆而设计,如果您在 android 上使用它可能无法正常工作。任何其他类似类的计时器都将与 Timer 类似。

于 2012-08-08T19:52:49.300 回答