本篇文章給大家分享的是有關(guān)Android中怎么設(shè)置屏幕亮度,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
網(wǎng)站設(shè)計(jì)制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營了十年的成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司。使用場(chǎng)景
最近在研究AndroidL Settings的代碼,寫了一個(gè)簡(jiǎn)單的控件來操控屏幕亮度。
其實(shí),調(diào)節(jié)屏幕亮度的場(chǎng)景應(yīng)用很廣,例如很多視頻應(yīng)用都響應(yīng)touch事件來進(jìn)行亮度調(diào)節(jié)。
屏幕亮度調(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ù)制代碼 代碼如下:
當(dāng)屏幕亮度模式為0即手動(dòng)調(diào)節(jié)時(shí),可以通過如下代碼設(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è)置屏幕亮度,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。