admin管理员组文章数量:1516870
有时候我们会修改到屏幕的亮度比如小说类的app,能实现修改亮度的方式有两种:
1、修改界面的屏幕亮度-----这种只对当前页面生效,退出后回复原来亮度(只影响自己的app不修改系统的亮度)
2、修改系统的亮度
1、修改界面的屏幕亮度的方式
publicvoidchangeScreenBrightniss(Activity activity,int brightniss){if(currentActviityIsDestory(activity)){return;}
WindowManager.LayoutParams localLayoutParams = activity.getWindow().getAttributes();float f = brightniss /255.0F;
localLayoutParams.screenBrightness = f;
activity.getWindow().setAttributes(localLayoutParams);}如果你想用这种方式改变所有的页面的亮度,可以放在BaseActivity试试
2、修改系统屏幕亮度
publicstaticbooleanchangeSystemScreenBrightniss(Activity activity,int brightniss){if(currentActviityIsDestory(activity)){returnfalse;}if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){//如果当前平台版本大于23平台if(!Settings.System.canWrite(activity)){//如果没有修改系统的权限这请求修改系统的权限
Intent intent =newIntent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
intent.setData(Uri.parse("package:"+ activity.getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivityForResult(intent,0);returnfalse;}else{//修改系统亮度//这里需要权限android.permission.WRITE_SETTINGS//设置为手动调节模式try{int mode = Settings.System.getInt(activity.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE);if(mode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC){
Settings.System.putInt(activity.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_MODE,
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);}}catch(Settings.SettingNotFoundException e){
e.printStackTrace();}//保存到系统中
Uri uri = android.provider.Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS);
android.provider.Settings.System.putInt(activity.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, brightniss);
activity.getContentResolver().notifyChange(uri, null);returntrue;}}returnfalse;}根据自己的需要选择,第一种只修改自己的app不影响其他的app,第二种是改变系统的亮度。
版权声明:本文标题:Flash中心亮度调整大揭秘!轻松提升观看体验,亮度一步到位! 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1773232234a3277114.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论