如何在Android上制作闪光灯效果?

时间:2012-08-08 19:34:04

标签: android background-image background-color light

对于我的应用程序,我想要一个多色的频闪灯,我该怎么做?

2 个答案:

答案 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一样工作。