android亮度调节
1. Android修改手机默认亮度
目前的默认值是102 ,可以通过修改defaults.xml里的变量值来改变这个默认值:
frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<integer name="def_screen_brightness">102</integer>
2. android 5.0怎么调home亮度
1.Android系统亮度调节
Android系统亮度调节全局性最高,常见于系统设置中的亮度设置项。Android中提供了获取和设置系统亮度值(“手动模式下的亮度值”)的接口,具体如下:
1 // 获取系统亮度
2 Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
1 // 设置系统亮度
2 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS,systemBrightness);
其中,需要注意的是,返回的亮度值是处于0-255之间的整型数值。
Android
2.1以后的系统中,系统亮度调节中新增了“自动亮度”选项。“自动亮度”是依据外界光源来自动的改变系统亮度,目前大部分手机中对“自动亮度”还可以进行小幅度的调节其值。与自动亮度相对应的是“手动亮度”,当处于“手动亮度”下,设置拖动亮度进度条会大幅度的改变Android系统亮度。“手动亮度”和“自动亮度”分别称之为Android系统的“亮度模式”。
与之相对应的,Android系统中也提供了获取和设置“亮度模式”的接口。
1 // 获取系统亮度模式
2 Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
1 // 设置系统亮度模式
2 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, systemMode);
可是遗憾的是,Android中并未提供处于“自动亮度”模式下的亮度值接口。上面所说的获取系统亮度值接口实际上都是指“手动亮度”模式下的亮度值。
一般而言,通过手动亮度值以及设置系统亮度模式接口,可以满足常规的大部分针对Android系统亮度设置编码需求,以完成系统亮度调节。
2.Android App亮度调节
与系统亮度不同的是,Android中并未直接提供针对于App层面的亮度调节方式。因此,对于需要进行App的亮度调节,可以通过系统亮度调节或当前屏幕的亮度调节方式间接来实现。
3.Android当前屏幕(Window)亮度调节
Android针对当前屏幕(Window)提供了设置亮度的接口,常见写法如下:
1 Window window = activity.getWindow();
2 WindowManager.LayoutParams lp = window.getAttributes();
3 lp.screenBrightness = brightness;
4 window.setAttributes(lp);
其中,需要注意的是此处的brightness是一个0.0-1.0之间的一个float类型数值。
默认情况下,当我们直接修改了系统亮度值后,当前Window中是可以即时反应出来亮度效果的,这是因为默认情况下,WindowManager.LayoutParams的screenBrightness的默认值为WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE。
即表示Window没有自己的亮度参数,将依随系统亮度效果的变化而变化。这也就是我们最常见的:当调整系统亮度后,所有Window都即时反应出系统亮度设置效果。
当时,实际项目中我们还会遇到此类需求:系统设置亮度时只针对当前Window或App内生效,而不影响到系统本身的亮度设置。
假设当前Window内有一个SeekBar,UI与系统亮度调节UI基本类似,用户可以滑动此SeekBar,使得当前Window亮度即时发生变化,且不影响到系统亮度效果。如何实现呢?
此时我们需要启用WindowManager.LayoutParams的screenBrightness参数,使之具有自动的特定亮度值,设置此值后在当前Window范围内,其将覆盖掉系统亮度设置。
因此,有必要将用户选择的亮度值转换为相应的Window亮度值(为与系统亮度值相一致,假设SeekBar的最大值为255)。
3. Android7.1的自动亮度调节是否正常
Android7.1的自动亮度调节是否正常?
Android7.1的自动亮度调节是否正常?
自动亮度调节是许多Android手机使用的一个便捷功能,可以根据光线的强度自动调整屏幕亮度,以提高视觉舒适度并延长电池寿命。但在Android7.1的系统中,这个功能是否正常呢?
在测试中,我们发现Android7.1的自动亮度调节存在以下问题:
1.反应速度慢:屏幕的亮度调节存在延迟,与光线强度的变化速度不够快,导致屏幕亮度不够适应室内和室外的快速变化。
2.亮度过低:在某些情况下,该功能会自动将屏幕亮度调低到不适合使用的程度,在这种情况下,用户不得不手动调整。
3.亮度过高:在某些情况下,该功能会自动将屏幕亮度调至非常高的程度,尤其是在夜间使用时,这可能会造成眼部不适。
总之,在Android7.1的系统中,自动亮度调节功能表现不佳,需要用户手动调节以获得最佳的视觉效果和电池寿命。建议开发者在未来的系统更新中优化这个功能,以提高用户体验。