Araştırmalar, ekranlardan gelen mavi ışığın
uyku. Android 7.1.1, Gece Işığı adlı bir özelliği kullanıma sundu ve
doğal ortamı daha iyi eşleştirmek için cihaz ekranının yaydığı mavi ışık miktarı
saati ve konumuna göre değişir. Android 8.0, Android 8.0'da
Bu özellik, kullanıcılara Gece Işığı efektinin yoğunluğu üzerinde daha fazla kontrol olanağı sunar.
Android 10
Sistem API'sine sahip COLOR_DISPLAY_SERVICE
sistem hizmeti
sistemin, Ayarlar'ın ve Sistem Arayüzünün tüm renkler üzerinde daha fazla kontrol sahibi olması için yüzey
gibi dönüşümler bulunur.
Gece Işığı için bir
Donanım
İletilen matrisi uygulayabilecek Composer HAL 2.0 (HWC 2) uygulaması
setColorTransform
kullanarak gücü etkilemeden renklendirme yapabilirsiniz.
performans ve uygulama uyumluluğu.
Uygulama
Cihaz üreticileri, bu özelliğin varsayılan uygulamasını aşağıdaki ölçütlere göre etkinleştirebilirler:
frameworks/base/core/res/res/values/config.xml
.
<!-- Control whether Night display is available. This should only be enabled on devices with HWC 2 color transform support. --> <bool name="config_nightDisplayAvailable">false</bool> <!-- Default mode to control how Night display is automatically activated. One of the following values (see NightDisplayController.java): 0 - AUTO_MODE_DISABLED 1 - AUTO_MODE_CUSTOM 2 - AUTO_MODE_TWILIGHT --> <integer name="config_defaultNightDisplayAutoMode">0</integer> <!-- Default time when Night display is automatically activated. Represented as milliseconds from midnight (e.g. 79200000 == 10pm). --> <integer name="config_defaultNightDisplayCustomStartTime">79200000</integer> <!-- Default time when Night display is automatically deactivated. Represented as milliseconds from midnight (e.g. 21600000 == 6am). --> <integer name="config_defaultNightDisplayCustomEndTime">21600000</integer> <!-- Minimum color temperature, in Kelvin, supported by Night display. --> <integer name="config_nightDisplayColorTemperatureMin">2596</integer> <!-- Default color temperature, in Kelvin, to tint the screen when Night display is activated. --> <integer name="config_nightDisplayColorTemperatureDefault">2850</integer> <!-- Maximum color temperature, in Kelvin, supported by Night display. --> <integer name="config_nightDisplayColorTemperatureMax">4082</integer>
Kod; çerçeve, sistem hizmetleri, Sistem Kullanıcı Arayüzü ve Ayarlar arasında bölünür. İlgili içeriği oluşturmak için kullanılan
temel işlev ColorDisplayManager
(tarafından desteklenen)
ColorDisplayService
) tıklayın.
Cihaz üreticileri,
beyaz nokta, gam ve istenen renk de dahil olmak üzere
cihazın ekran paneline uygulanır. Bu ayarı değiştirmek için
renk rampasını bir yapılandırma yer paylaşımı kullanarak temel uygulamayı değiştirmeden.
Bu yapılandırma, kırmızı, yeşil ve mavinin her biri için ikinci dereceden bir denklem
vres = vat2 + vbt + vy-int şeklinde
burada t,
config_nightDisplayColorTemperatureMin
ve
config_nightDisplayColorTemperatureMax
(açıklandığı şekilde)
önceki bölümde verilmiştir) ve va, vb ve vy-int ise
ilgili birincil eğrinin sırasıyla a katsayısı, b katsayısı ve y kesim noktası
değiştirebilirsiniz.
<string-array name="config_nightDisplayColorTemperatureCoefficientsNative"> <!-- R a-coefficient --> <item>0.0</item> <!-- R b-coefficient --> <item>0.0</item> <!-- R y-intercept --> <item>1.0</item> <!-- G a-coefficient --> <item>-0.00000000962353339</item> <!-- G b-coefficient --> <item>0.000153045476</item> <!-- G y-intercept --> <item>0.390782778</item> <!-- B a-coefficient --> <item>-0.0000000189359041</item> <!-- B b-coefficient --> <item>0.000302412211</item> <!-- B y-intercept --> <item>-0.198650895</item> </string-array> <string-array name="config_nightDisplayColorTemperatureCoefficients"> <!-- R a-coefficient --> <item>0.0</item> <!-- R b-coefficient --> <item>0.0</item> <!-- R y-intercept --> <item>1.0</item> <!-- G a-coefficient --> <item>-0.00000000962353339</item> <!-- G b-coefficient --> <item>0.000153045476</item> <!-- G y-intercept --> <item>0.390782778</item> <!-- B a-coefficient --> <item>-0.0000000189359041</item> <!-- B b-coefficient --> <item>0.000302412211</item> <!-- B y-intercept --> <item>-0.198650895</item> </string-array>
Kullanıcı arayüzü özellikleri
Gece Işığı kullanıcıya yönelik bir özellik olduğu için kullanıcıların
somut olarak ortaya koyar. Android açık kaynağında ayarların eksiksiz bir şekilde uygulanması söz konusudur
Proje (AOSP)
paketler/uygulamalar/Ayarlar
cihaz üreticilerinin Ayarlar'ı için referans alabilecekleri bir proje
hakkında bilgi edindiniz. Uygulayıcılar,
Settings.ACTION_NIGHT_DISPLAY_SETTINGS
.
bu ayarı göstermeyin.
Ayarlar
Gece Işığı ayarlarını Ayarlar > Görüntülü Reklam Ağı > Gece Hafif. Kullanıcılar buradan Gece Işığı hakkında bilgi edinebilir, programını ayarlayabilir, ve sonra istediğiniz zaman açıp kapatın.
- Otomatik Olarak Etkinleştir
- Hiçbir zaman: Gece Işığı hiçbir zaman otomatik olarak açılmaz ve manuel Açma / Kapatma düğmesiyle etkinleştirilmelidir.
- Özel program: Gece Işığı belirli bir zamanda açılır. Başlangıç saati [varsayılan: 22:30] ve belirtilen bir zamanda kapalı Bitiş zamanı [varsayılan: 06:30].
- Güneşin batışından doğuşuna: Gece Işığı gün batımında ve kapandığında açılır gün doğumunda. Gün doğumu ve gün batımı saati cihazın konumuna göre değişir ve yılın hangi döneminde olduğunuzu gösterir.
- Açık/Kapalı: Geçerli Gece durumunu kontrol eden açma/kapatma düğmesi Hafif. Bu durum, mevcut otomatik kurallara uyar. Örneğin, Gece Işık 17:30'da açıldı. (otomatik kural açılmadan önce) (22:30'da)]. Gece Işığı yine de 06:30'da kapanacaktır. Gece Işık, saat 05:30'da (sabah 6:30'da kapanmadan önce) kapatılırsa hâlâ 22:30'da açılıyor.
- Yoğunluk: Arama çubuğu tonlama seviyesini kontrol eden bir uygulamadır. Sarma çubuğu Gece Işığı etkinleştirilmediğinde devre dışı bırakılır.
- Bilgi amaçlı metin: Kullanıcıya Gece Işığı'nın ne işe yaradığını öğretir ve bunun nedeni.
Koşullu ayarlar
Gece Işığı açık olduğunda Ayarlar'ın üst kısmında görünür.
Hızlı Ayar kutusu
Hızlı Ayarlar kutusu, Açık / Kapalı ile aynı şekilde davranır Ayarlar > Görüntülü Reklam Ağı > Gece Işığı.