您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Android中如何設置屏幕亮度”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Android中如何設置屏幕亮度”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
屏幕亮度調節模式
首先,需要明確屏幕亮度有兩種調節模式:
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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。