失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android之调节手机屏幕亮度

Android之调节手机屏幕亮度

时间:2021-07-22 01:24:27

相关推荐

Android之调节手机屏幕亮度

现实生活中,在每个APP中,总会有调节屏幕亮度的需求~

这里是使用SeekBar来调节手机屏幕亮度的,学过手势之后,就可以手势控制亮度了~后面有机会在说~

核心代码如下:

public class MainActivity extends Activity {private SeekBar seekBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);seekBar = (SeekBar) findViewById(R.id.sb);seekBar.setMax(255);int normal = Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS, 255);seekBar.setProgress(normal);seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}//当Seekbar在滑动的时候,亮度也随着变化@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {int tmpInt = progress;// 当进度小于80时,设置成80,防止太黑看不见的后果。if (tmpInt < 80) {tmpInt = 80;}// 根据当前进度改变亮度Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS, progress);tmpInt = Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS, -1);WindowManager.LayoutParams wl = getWindow().getAttributes();float tmpFloat = (float) tmpInt / 255;if (tmpFloat > 0 && tmpFloat <= 1) {wl.screenBrightness = tmpFloat;}getWindow().setAttributes(wl);}});}}

布局文件就一个SeekBar,就不贴代码了~

需要加权限,因为调节亮度是手机自带的功能

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

源码:/detail/qq_33642117/9585012

如果觉得《Android之调节手机屏幕亮度》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。