所以我有调整系统亮度的代码,并且我已经正确实现了搜索栏,但是当我调整搜索栏时,屏幕亮度不会改变。我查看了其他一些帖子,解决方案似乎是创建一个可以快速打开和关闭的 Dummy 类。如果我这样做,那么我觉得会有很多延迟,因为随着搜索栏的移动,屏幕会不断刷新。
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
ContentResolver cr = getContentResolver();
try{
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);
}
catch (Settings.SettingNotFoundException a)
{
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
//Toast.makeText(MainActivity.this, "Started Tracking Seekbar", Toast.LENGTH_SHORT).show();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
刷新的另一个问题是,我在有相机预览的屏幕中运行此亮度控制,并且每次加载虚拟屏幕时都会杀死相机需要一些时间并进一步增加延迟
我确实看到了这篇文章,但我不知道如何实现它。因为我没有使用偏好