直播小程序源码,屏幕亮度跟随系统亮度变化
直播小程序源码,屏幕亮度跟随系统亮度变化
1、布局文件
1 | <br><?xml version= "1.0" encoding= "utf-8" ?><br><LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" <br> android:layout_width= "match_parent" <br> android:layout_height= "match_parent" <br> android:orientation= "vertical" ><br> <TextView<br> android:layout_width= "wrap_content" <br> android:layout_height= "wrap_content" <br> android:text= "水平滑动调节亮度" <br> android:textSize= "20sp" /><br> <SeekBar<br> android:id= "@+id/seekbar_light" <br> android:layout_width= "match_parent" <br> android:layout_height= "wrap_content" <br> android:layout_marginBottom= "20dp" <br> android:layout_marginTop= "20dp" <br> android:max= "255" /><br> <TextView<br> android:id= "@+id/tv_light_value" <br> android:layout_width= "wrap_content" <br> android:layout_height= "wrap_content" <br> android:textSize= "20sp" /><br></LinearLayout> |
2、工具类
1 | <br> public class BrightnessUtil {<br> /**<br> *获取系统屏幕亮度<br> */ <br> public static int getBrightness(Context context) {<br> int brightness = -1;<br> ContentResolver resolver = context.getContentResolver();<br> try {<br> brightness = Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS);<br> } catch (Settings.SettingNotFoundException e) {<br> e.printStackTrace();<br> }<br> return brightness;<br> }<br> /**<br> *获取系统最大屏幕亮度<br> */ <br> public static int getMaxBrightness(Context context) {<br> int brightnessSettingMaximumId = context.getResources().getIdentifier( "config_screenBrightnessSettingMaximum" , "integer" , "android" );<br> int brightnessSettingMaximum = context.getResources().getInteger(brightnessSettingMaximumId);<br> return brightnessSettingMaximum;<br> }<br> /**<br> *调节当前屏幕亮度<br> */ <br> public static void SetSystemLight(int lightnumber, Activity activity){<br> Window window = activity.getWindow(); //对当前窗口进行设置<br> WindowManager.LayoutParams layoutparams = window.getAttributes();//获取窗口属性为后面亮度做铺垫作用<br> layoutparams.screenBrightness =lightnumber / 255.0f;//用窗口管理(自定义的)layoutparams获取亮度值,android亮度值处于在0-255之间的整形数值<br> window.setAttributes(layoutparams);//设置当前窗口屏幕亮度<br> }<br>} |
3、实现类(活动)
1 | <br> public class MainActivity extends AppCompatActivity {<br> private static final String TAG = "MainActivity" ;<br> private TextView textView;<br> private SeekBar seekBar;<br> @Override<br> protected void onCreate(Bundle savedInstanceState) {<br> super.onCreate(savedInstanceState);<br> setContentView(R.layout.activity_main);<br> initBrightness();<br> /* 监听SeekBar */ <br> seekBar.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() {<br> /*拖动条停止拖动时调用 */ <br> @Override<br> public void onStopTrackingTouch(SeekBar seekBar) {<br> //Log.i(TAG, "拖动停止");<br> }<br> /*拖动条开始拖动时调用*/<br> @Override<br> public void onStartTrackingTouch(SeekBar seekBar) {<br> //Log.i(TAG, "开始拖动");<br> }<br> /* 拖动条进度改变时调用*/<br> @Override<br> public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {<br> textView.setText("亮度值:" + progress);<br> //当前屏幕亮度随着进度值改变<br> BrightnessUtil.SetSystemLight(progress,MainActivity.this);<br> }<br> });<br> }<br> /* 初始化控件 */<br> private void initBrightness(){<br> textView = (TextView) findViewById(R.id.tv_light_value);<br> seekBar = (SeekBar) findViewById(R.id.seekbar_light);<br> textView.setText("亮度值:" + BrightnessUtil.getBrightness(MainActivity.this));<br> //将系统最大屏幕亮度值设为seekbar的最大进度值<br> seekBar.setMax(BrightnessUtil.getMaxBrightness(MainActivity.this));<br> //将系统当前屏幕亮度值设为seekbar当前进度值<br> seekBar.setProgress(BrightnessUtil.getBrightness(MainActivity.this));<br> }<br>} |
以上就是 直播小程序源码,屏幕亮度跟随系统亮度变化,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-09-08 直播app系统源码通过CSS液体实现加载动画
2021-09-08 短视频商城源码,移动端左右滑动切换页面效果
2021-09-08 短视频带货系统,HTML+CSS+JS实现宇宙星球旋转动画特效