您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“Android中如何設(shè)置屏幕亮度”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Android中如何設(shè)置屏幕亮度”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
屏幕亮度調(diào)節(jié)模式
首先,需要明確屏幕亮度有兩種調(diào)節(jié)模式:
Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC
:值為1,自動(dòng)調(diào)節(jié)亮度。Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL
:值為0,手動(dòng)模式。
如果需要實(shí)現(xiàn)亮度調(diào)節(jié),首先需要設(shè)置屏幕亮度調(diào)節(jié)模式為手動(dòng)模式。
設(shè)置方法如下:
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。
設(shè)置屏幕亮度的方法:
private int getScreenBrightness() { ContentResolver contentResolver = getActivity().getContentResolver(); int defVal = 125; return Settings.System.getInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS, defVal); }
設(shè)置系統(tǒng)屏幕亮度值
在設(shè)置系統(tǒng)屏幕亮度前,需要保證AndroidManifest.xml中聲明如下權(quán)限:
復(fù)制代碼 代碼如下:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
當(dāng)屏幕亮度模式為0即手動(dòng)調(diào)節(jié)時(shí),可以通過(guò)如下代碼設(shè)置屏幕亮度:
private void saveScreenBrightness() { setScrennManualMode(); ContentResolver contentResolver = getActivity().getContentResolver(); int value = 255; // 設(shè)置亮度值為255 Settings.System.putInt(mContentResolver, Settings.System.SCREEN_BRIGHTNESS, value); }
設(shè)置當(dāng)前窗口亮度
很多視頻應(yīng)用,在touch事件處理屏幕亮度時(shí),并不是修改的系統(tǒng)亮度值,而是修改當(dāng)前應(yīng)用所在窗口的亮度。具體做法就是修改LayoutParams中的screenBrightness屬性。參考代碼如下:
private void setWindowBrightness(int brightness) { Window window = getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.screenBrightness = brightness / 255.0f; window.setAttributes(lp); }
讀到這里,這篇“Android中如何設(shè)置屏幕亮度”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。