android亮度調節
1. Android修改手機默認亮度
目前的默認值是102 ,可以通過修改defaults.xml里的變數值來改變這個默認值:
frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<integer name="def_screen_brightness">102</integer>
2. android 5.0怎麼調home亮度
1.Android系統亮度調節
Android系統亮度調節全局性最高,常見於系統設置中的亮度設置項。Android中提供了獲取和設置系統亮度值(「手動模式下的亮度值」)的介面,具體如下:
1 // 獲取系統亮度
2 Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
1 // 設置系統亮度
2 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS,systemBrightness);
其中,需要注意的是,返回的亮度值是處於0-255之間的整型數值。
Android
2.1以後的系統中,系統亮度調節中新增了「自動亮度」選項。「自動亮度」是依據外界光源來自動的改變系統亮度,目前大部分手機中對「自動亮度」還可以進行小幅度的調節其值。與自動亮度相對應的是「手動亮度」,當處於「手動亮度」下,設置拖動亮度進度條會大幅度的改變Android系統亮度。「手動亮度」和「自動亮度」分別稱之為Android系統的「亮度模式」。
與之相對應的,Android系統中也提供了獲取和設置「亮度模式」的介面。
1 // 獲取系統亮度模式
2 Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
1 // 設置系統亮度模式
2 Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, systemMode);
可是遺憾的是,Android中並未提供處於「自動亮度」模式下的亮度值介面。上面所說的獲取系統亮度值介面實際上都是指「手動亮度」模式下的亮度值。
一般而言,通過手動亮度值以及設置系統亮度模式介面,可以滿足常規的大部分針對Android系統亮度設置編碼需求,以完成系統亮度調節。
2.Android App亮度調節
與系統亮度不同的是,Android中並未直接提供針對於App層面的亮度調節方式。因此,對於需要進行App的亮度調節,可以通過系統亮度調節或當前屏幕的亮度調節方式間接來實現。
3.Android當前屏幕(Window)亮度調節
Android針對當前屏幕(Window)提供了設置亮度的介面,常見寫法如下:
1 Window window = activity.getWindow();
2 WindowManager.LayoutParams lp = window.getAttributes();
3 lp.screenBrightness = brightness;
4 window.setAttributes(lp);
其中,需要注意的是此處的brightness是一個0.0-1.0之間的一個float類型數值。
默認情況下,當我們直接修改了系統亮度值後,當前Window中是可以即時反應出來亮度效果的,這是因為默認情況下,WindowManager.LayoutParams的screenBrightness的默認值為WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE。
即表示Window沒有自己的亮度參數,將依隨系統亮度效果的變化而變化。這也就是我們最常見的:當調整系統亮度後,所有Window都即時反應出系統亮度設置效果。
當時,實際項目中我們還會遇到此類需求:系統設置亮度時只針對當前Window或App內生效,而不影響到系統本身的亮度設置。
假設當前Window內有一個SeekBar,UI與系統亮度調節UI基本類似,用戶可以滑動此SeekBar,使得當前Window亮度即時發生變化,且不影響到系統亮度效果。如何實現呢?
此時我們需要啟用WindowManager.LayoutParams的screenBrightness參數,使之具有自動的特定亮度值,設置此值後在當前Window范圍內,其將覆蓋掉系統亮度設置。
因此,有必要將用戶選擇的亮度值轉換為相應的Window亮度值(為與系統亮度值相一致,假設SeekBar的最大值為255)。
3. Android7.1的自動亮度調節是否正常
Android7.1的自動亮度調節是否正常?
Android7.1的自動亮度調節是否正常?
自動亮度調節是許多Android手機使用的一個便捷功能,可以根據光線的強度自動調整屏幕亮度,以提高視覺舒適度並延長電池壽命。但在Android7.1的系統中,這個功能是否正常呢?
在測試中,我們發現Android7.1的自動亮度調節存在以下問題:
1.反應速度慢:屏幕的亮度調節存在延遲,與光線強度的變化速度不夠快,導致屏幕亮度不夠適應室內和室外的快速變化。
2.亮度過低:在某些情況下,該功能會自動將屏幕亮度調低到不適合使用的程度,在這種情況下,用戶不得不手動調整。
3.亮度過高:在某些情況下,該功能會自動將屏幕亮度調至非常高的程度,尤其是在夜間使用時,這可能會造成眼部不適。
總之,在Android7.1的系統中,自動亮度調節功能表現不佳,需要用戶手動調節以獲得最佳的視覺效果和電池壽命。建議開發者在未來的系統更新中優化這個功能,以提高用戶體驗。