自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android亮度調(diào)節(jié)關(guān)鍵API與技巧,實(shí)現(xiàn)APP亮度個性化設(shè)置

移動開發(fā) Android
Android中并未直接提供針對于APP層面的亮度調(diào)節(jié)方式。對于需要進(jìn)行APP的亮度調(diào)節(jié),可以通過系統(tǒng)亮度調(diào)節(jié)或當(dāng)前屏幕的亮度調(diào)節(jié)方式間接來實(shí)現(xiàn)。

Android系統(tǒng)亮度調(diào)節(jié)

Android系統(tǒng)亮度調(diào)節(jié)全局性最高,常見于系統(tǒng)設(shè)置中的亮度設(shè)置項(xiàng)。Android中提供了獲取和設(shè)置系統(tǒng)亮度值(“手動模式下的亮度值”)的接口,調(diào)用相應(yīng)的API獲取當(dāng)前的屏幕亮度值和設(shè)置一個特定的值。返回的亮度值是處于0-255之間的整型數(shù)值。

// 獲取系統(tǒng)亮度
Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS);

// 設(shè)置系統(tǒng)亮度
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS,systemBrightness);

Android2.X以后的系統(tǒng)中,系統(tǒng)亮度調(diào)節(jié)中新增了“自動亮度”選項(xiàng)?!白詣恿炼取笔且罁?jù)外界光源來自動的改變系統(tǒng)亮度,目前大部分手機(jī)中對“自動亮度”還可以進(jìn)行小幅度的調(diào)節(jié)其值。與自動亮度相對應(yīng)的是“手動亮度”,當(dāng)處于“手動亮度”下,設(shè)置拖動亮度進(jìn)度條會大幅度的改變Android系統(tǒng)亮度?!笆謩恿炼取焙汀白詣恿炼取狈謩e稱之為Android系統(tǒng)的“亮度模式”。

// 獲取系統(tǒng)亮度模式
Settings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE);

// 設(shè)置系統(tǒng)亮度模式
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,systemMode);

Android中并未提供處于“自動亮度”模式下的亮度值接口。上面的獲取系統(tǒng)亮度值接口實(shí)際上都是指“手動亮度”模式下的亮度值。通過手動亮度值以及設(shè)置系統(tǒng)亮度模式接口,可以滿足常規(guī)的大部分針對Android系統(tǒng)亮度設(shè)置編碼需求,以完成系統(tǒng)亮度調(diào)節(jié)。

Android當(dāng)前Window亮度調(diào)節(jié)

常見場景:打開收付款界面時屏幕亮度變亮

//brightness是一個0.0-1.0之間的一個float類型數(shù)值。
Window window = activity.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = brightness;
window.setAttributes(lp);

默認(rèn)情況下,當(dāng)我們直接修改了系統(tǒng)亮度值后,當(dāng)前Window中是可以即時反應(yīng)出來亮度效果的,這是因?yàn)槟J(rèn)情況下,WindowManager.LayoutParams的screenBrightness的默認(rèn)值為WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE。表示W(wǎng)indow沒有自己的亮度參數(shù),將跟隨系統(tǒng)亮度效果的變化。當(dāng)調(diào)整系統(tǒng)亮度后,所有Window都即時反應(yīng)出系統(tǒng)亮度設(shè)置效果。

Android APP亮度調(diào)節(jié)

Android中并未直接提供針對于APP層面的亮度調(diào)節(jié)方式。對于需要進(jìn)行APP的亮度調(diào)節(jié),可以通過系統(tǒng)亮度調(diào)節(jié)或當(dāng)前屏幕的亮度調(diào)節(jié)方式間接來實(shí)現(xiàn)。

  1. 記錄下系統(tǒng)亮度值和亮度模式,用戶在APP界面時,直接修改系統(tǒng)亮度值,當(dāng)用戶退出此APP,或APP至于后臺(如按下Home按鍵等),再將記錄的系統(tǒng)亮度值還原。
  2. 對每個Window進(jìn)行亮度設(shè)置,在基類Activity中對APP亮度值進(jìn)行設(shè)置以實(shí)現(xiàn)每個當(dāng)前屏幕的亮度調(diào)節(jié)。


責(zé)任編輯:武曉燕 來源: 沐雨花飛蝶
相關(guān)推薦

2013-05-15 22:30:49

DebianDebian LinuUbuntu

2020-06-28 07:00:00

推薦系統(tǒng)智能商務(wù)服務(wù)平臺

2025-03-19 08:36:55

2021-10-19 08:00:00

Windows 11Windows微軟

2020-08-31 12:00:17

Linux終端顏色命令

2023-03-21 12:46:30

智慧城市人工智能大數(shù)據(jù)

2014-03-18 15:39:36

Fedora屏幕亮度

2022-11-01 07:19:45

推薦系統(tǒng)非個性化

2020-12-04 05:56:19

Vscode 代碼 編輯器

2010-04-30 17:07:03

組策略部署

2024-03-25 07:57:10

ChatGPTPromote人工智能

2011-09-07 14:31:59

ubuntu屏幕亮度

2011-01-20 10:19:21

PowerShell個性化

2016-09-29 12:09:47

大數(shù)據(jù)搜索個性化服務(wù)

2015-05-07 10:38:19

IBMFacebook營銷云

2015-06-08 22:41:36

云鴿

2013-11-07 16:42:34

Windows 8.1個性化

2011-05-04 14:38:53

海爾江山帝景一體機(jī)

2021-02-20 10:34:45

人工智能個性化服務(wù)AI

2016-04-08 11:39:49

用戶畫像個性化推薦標(biāo)簽
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號