溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android中如何設(shè)置屏幕亮度

發(fā)布時(shí)間:2022-04-15 16:16:42 來(lái)源:億速云 閱讀:1630 作者:iii 欄目:編程語(yǔ)言

本文小編為大家詳細(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è)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI