【发布时间】:2011-10-21 05:51:03
【问题描述】:
我想在我的 Android 应用程序中使用搜索栏来增加屏幕的亮度,但我不知道该怎么做。如何添加此功能?
【问题讨论】:
标签: android seekbar brightness scroller
我想在我的 Android 应用程序中使用搜索栏来增加屏幕的亮度,但我不知道该怎么做。如何添加此功能?
【问题讨论】:
标签: android seekbar brightness scroller
使用它可以设置屏幕亮度:
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 100 / 100.0f;
getWindow().setAttributes(lp);
现在,由于您想实现类似控件的进度条,我建议您实现 SeekBar,因此使用它您可以根据 seekbar 的跟踪值轻松增加/减少。
Here 是使用 SeekBar 实现的完整示例。
【讨论】:
使用它来改变亮度(系统范围)
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。
【讨论】:
您可以使用 WindowManager.LayoutParams 更改屏幕亮度。
使用 getWindow().getAttributes() 获取 LayoutParams,然后将字段 screenBrightness 设置为 0 到 1(0 暗,1 亮)之间的数字,然后使用修改后的 LayoutParams 对象调用 getWindow().setAttributes()。
【讨论】: