【问题标题】:Screen flashing programmatically屏幕以编程方式闪烁
【发布时间】:2011-12-01 15:42:46
【问题描述】:

我想要一个屏幕闪烁功能,即在我的项目中闪烁。我在stackoverflow中关注了这个问题链接Adding screen brightness controls to android application

我在那里应用了 fixedd 给出的代码。它有效我的意思是当状态为真时我正在闪烁并且代码正在工作但然后说状态为假(即我想停止闪烁并恢复旧亮度)然后我的整个屏幕变黑。然后我必须按返回退出应用程序。

屏幕闪烁然后根据条件停止它的更好方法是什么? 谢谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    首先你需要在一些变量中存储闪烁前的屏幕亮度 示例浮动

    float oldBrightNess = Settings.System.getInt(getContentResolver(), 
                     Settings.System.SCREEN_BRIGHTNESS);
    

    并在状态为 false 时将此值设置为窗口布局。

    请参阅以下代码,它的工作方式完全相同。 如果屏幕没有闪烁,则单击按钮会闪烁,反之亦然,当您再次单击时

    示例代码

    public class RelativeLayoutTesting extends Activity implements OnClickListener {
        Button button3;
        boolean isPLAYING;
        MediaPlayer mp;
        boolean isFlashedBefore = false;
        float oldBrightNess = 0;
        float newBrightNess = 1.0f;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.sample);
            button3 = (Button) findViewById(R.id.btn3);
            button3.setOnClickListener(this);
            try{
            oldBrightNess = Settings.System.getInt(getContentResolver(), 
                     Settings.System.SCREEN_BRIGHTNESS);
            }catch(Exception ex){
                ex.printStackTrace();
                oldBrightNess = 1.0f;
            }
    System.out.println("...Brighness..."+oldBrightNess);
        }
    
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            WindowManager.LayoutParams lp = getWindow().getAttributes();
            if(!isFlashedBefore){
    
            lp.screenBrightness = newBrightNess;
    
            }else{
                lp.screenBrightness = oldBrightNess;
            }
            getWindow().setAttributes(lp);
            isFlashedBefore = !isFlashedBefore;
    
    //      emailWOAttach(RelativeLayoutTesting.this);
        }
    }
    

    【讨论】:

    • 不工作。我在处理程序线程上反复做屏幕闪烁动画。当我恢复它不起作用。屏幕变黑。
    猜你喜欢
    • 2011-07-12
    • 1970-01-01
    • 2023-03-29
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多