使用SeekBar控件来控制
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <!-- 拖拽实现控制屏幕亮度--> <SeekBar android:id="@+id/brightness_bar" android:layout_width="400dp" android:layout_height="wrap_content" /> </LinearLayout>
Activity代码
1.设置SeekBar控件
SeekBar bar = (SeekBar) findViewById(R.id.brightness_bar); bar.setOnSeekBarChangeListener(this);
2.继承 SeekBar.OnSeekBarChangeListener 接口
实现三个方法
@Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { int id = seekBar.getId(); Window window = getWindow(); switch (id){ //调整屏幕的亮度 case R.id.brightness_bar: WindowManager.LayoutParams attributes = window.getAttributes(); attributes.screenBrightness = (float) (progress * 0.01); window.setAttributes(attributes); break; } } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { }