您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Android中怎么設置屏幕亮度,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
使用場景
最近在研究AndroidL Settings的代碼,寫了一個簡單的控件來操控屏幕亮度。
其實,調節屏幕亮度的場景應用很廣,例如很多視頻應用都響應touch事件來進行亮度調節。
屏幕亮度調節模式
首先,需要明確屏幕亮度有兩種調節模式:
Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC
:值為1,自動調節亮度。Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL
:值為0,手動模式。
如果需要實現亮度調節,首先需要設置屏幕亮度調節模式為手動模式。
設置方法如下:
public void setScrennManualMode() { ContentResolver contentResolver = getActivity().getContentResolver(); try { int mode = Settings.System.getInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS_MODE); if (mode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) { Settings.System.putInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); } } catch (Settings.SettingNotFoundException e) { e.printStackTrace(); } }
獲取屏幕亮度值
這里需要了解:
1. 屏幕最大亮度為255。
2. 屏幕最低亮度為0。
3. 屏幕亮度值范圍必須位于:0~255。
設置屏幕亮度的方法:
private int getScreenBrightness() { ContentResolver contentResolver = getActivity().getContentResolver(); int defVal = 125; return Settings.System.getInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS, defVal); }
設置系統屏幕亮度值
在設置系統屏幕亮度前,需要保證AndroidManifest.xml中聲明如下權限:
復制代碼 代碼如下:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
當屏幕亮度模式為0即手動調節時,可以通過如下代碼設置屏幕亮度:
private void saveScreenBrightness() { setScrennManualMode(); ContentResolver contentResolver = getActivity().getContentResolver(); int value = 255; // 設置亮度值為255 Settings.System.putInt(mContentResolver, Settings.System.SCREEN_BRIGHTNESS, value); }
設置當前窗口亮度
很多視頻應用,在touch事件處理屏幕亮度時,并不是修改的系統亮度值,而是修改當前應用所在窗口的亮度。具體做法就是修改LayoutParams中的screenBrightness屬性。參考代碼如下:
private void setWindowBrightness(int brightness) { Window window = getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.screenBrightness = brightness / 255.0f; window.setAttributes(lp); }
以上就是Android中怎么設置屏幕亮度,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。