日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 软件亮度调节

發(fā)布時間:2023/12/20 Android 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 软件亮度调节 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

打算做一款閱讀軟件,其中有涉及到調(diào)節(jié)亮度的,于是花了點時間研究了下關(guān)于亮度調(diào)節(jié)的東西,其實也是參考別人的,

思路:想要調(diào)節(jié)軟件的亮度,必須要有獲得系統(tǒng)配置的權(quán)限,所以先添加權(quán)限

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

添加權(quán)限之后就可以進行相關(guān)的操作了


廢話不多說,直接貼代碼

1.關(guān)于亮度控制的類

package com.example.brightness;import android.app.Activity; import android.content.ContentResolver; import android.provider.Settings; import android.view.WindowManager;/*** 用于亮度調(diào)節(jié)* * @author huarizhong* */ public class LightnessControl {/*** 是否為自動調(diào)節(jié)亮度* * @param activity* @return*/public static boolean isAuto(Activity activity) {boolean autoBrightness = false;//使用ContentResolver獲得系統(tǒng)的數(shù)據(jù)ContentResolver resolver = activity.getContentResolver();try {//判斷是否為自動調(diào)節(jié)autoBrightness = Settings.System.getInt(resolver,Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;} catch (Exception e) {e.printStackTrace();}return autoBrightness;}/*** 設(shè)置亮度值*/public static void setLightness(Activity activity, int value) {try {Settings.System.putInt(activity.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS, value);WindowManager.LayoutParams lp = activity.getWindow().getAttributes();lp.screenBrightness = (value <= 0 ? 1 : value) / 255f;activity.getWindow().setAttributes(lp);} catch (Exception e) {e.printStackTrace();}}/*** 獲取亮度* * @param act* @return*/public static int getLightness(Activity act) {return Settings.System.getInt(act.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS, -1);}/*** 停止自動亮度調(diào)節(jié)* * @param activity*/public static void stopAutoBrightness(Activity activity) {Settings.System.putInt(activity.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);}/*** 開啟亮度自動調(diào)節(jié)* * @param activity*/public static void startAutoBrightness(Activity activity) {Settings.System.putInt(activity.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);} }
2.在Activity中的調(diào)用

package com.example.brightness;import android.app.Activity; import android.os.Bundle; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener;public class MainActivity extends Activity {// 調(diào)節(jié)亮度的進度條private SeekBar seekBar;// 系統(tǒng)自身亮度int sysBrightness;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 獲得系統(tǒng)亮度sysBrightness = LightnessControl.getLightness(this);seekBar = (SeekBar) findViewById(R.id.seekBar1);seekBar.setProgress(sysBrightness);// 監(jiān)聽進度條的變化seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}//進度條發(fā)生變化調(diào)節(jié)亮度@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {LightnessControl.setLightness(MainActivity.this, progress);}});}}
3.XML布局文件

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" /><SeekBarandroid:id="@+id/seekBar1"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_below="@+id/textView1"android:max="255"android:layout_marginTop="92dp" /></RelativeLayout>

如果需要demo的可以留下郵箱


總結(jié)

以上是生活随笔為你收集整理的Android 软件亮度调节的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。