【问题标题】:How could you increase the screen brightness in Android using a seek bar?如何使用搜索栏增加 Android 中的屏幕亮度?
【发布时间】:2011-10-21 05:51:03
【问题描述】:

我想在我的 Android 应用程序中使用搜索栏来增加屏幕的亮度,但我不知道该怎么做。如何添加此功能?

【问题讨论】:

    标签: android seekbar brightness scroller


    【解决方案1】:

    使用它可以设置屏幕亮度:

    WindowManager.LayoutParams lp = getWindow().getAttributes();
    lp.screenBrightness = 100 / 100.0f;
    getWindow().setAttributes(lp);
    

    现在,由于您想实现类似控件的进度条,我建议您实现 SeekBar,因此使用它您可以根据 seekbar 的跟踪值轻松增加/减少。

    Here 是使用 SeekBar 实现的完整示例。

    【讨论】:

    • 但是屏幕亮度条消失了。如何不让它消失?
    【解决方案2】:

    使用它来改变亮度(系统范围)

     ContentResolver cr = getContentResolver();
     int brightness = Settings.System.getInt(cr,Settings.System.SCREEN_BRIGHTNESS);            
     Settings.System.putInt(cr, Settings.System.SCREEN_BRIGHTNESS, brightness);
     WindowManager.LayoutParams lp = getWindow().getAttributes();
     lp.screenBrightness = brightness / 255.0f;
     getWindow().setAttributes(lp);
    

    您可以使用this example 并在onProgressChanged() 中调用上述代码。 progress 的默认值范围是 0 到 100。

    【讨论】:

      【解决方案3】:

      您可以使用 WindowManager.LayoutParams 更改屏幕亮度。 使用 getWindow().getAttributes() 获取 LayoutParams,然后将字段 screenBrightness 设置为 0 到 1(0 暗,1 亮)之间的数字,然后使用修改后的 LayoutParams 对象调用 getWindow().setAttributes()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多