日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android如何实现全局的护眼模式

發布時間:2023/12/18 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android如何实现全局的护眼模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/122882722
本文出自【趙彥軍的博客】

最近接到一個做護眼模式的需求,要求是在Android App 全局,在任何一個頁面都顯示。

在做需求之前要先弄清楚幾個概念

藍光

短波藍光是波長處于400nm-480nm之間具有相對較高能量的光線。該波長內的藍光會使眼睛內的黃斑區毒素量增高,嚴重威脅我們的眼底健康。藍光誘發致盲眼病,最有效的解決方案是對電視進行貼膜處理。防藍光貼膜技術已經很成熟,成本很低,可以有效阻止藍光穿透。

在這里,特別提出一點,藍光并不都是有害藍光,真正有害的是波長400到450以內的藍光,而480到500納米之間的藍光有一種調整生物節律的作用,睡眠、情緒、記憶力等都與之相關,對人體反而是有益的。而且短波藍光是不是一定會對人眼產生傷害,這與照射強度與照射時間有關,當照度達到一定程度后,持續兩個小時以上,才有可能對視網膜產生損害。

護眼模式

簡單來說,就是把屏幕發出的光,過濾掉對人體有害的藍光,就是護眼模式。

實現原理

第一個問題,怎么過濾藍光。

/*** 過濾藍光,過濾藍光比例,一般傳30*/private fun calculateFilterColor(blueFilterPercent: Int = 30): Int {var realFilter = blueFilterPercentif (realFilter < 10) {realFilter = 10} else if (realFilter > 80) {realFilter = 80}val a = (realFilter / 80f * 180).toInt()val r = (200 - realFilter / 80f * 190).toInt()val g = (180 - realFilter / 80f * 170).toInt()val b = (60 - realFilter / 80f * 60).toInt()return Color.argb(a, r, g, b)}

Activity 怎么設置藍光,也很簡單就是 在 decorView 增加一個前景色

//過濾藍光,獲取對眼睛健康的顏色 val color = calculateFilterColor() activity.window.decorView.foreground = ColorDrawable(color)

那么怎么運用到所有的 activity ,一種思路是在 BaseActivity onResume 方法,統一設置護眼模式。但是有個問題,有些 activity 是在第三方 sdk 中,并不會繼承我們的 BaseActivity 。 我選擇的方案是,在 Application 里注冊監聽器。如下:

class App : Application() {override fun onCreate() {super.onCreate()registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {override fun onActivityResumed(activity: Activity) {val color = UtilBlueEye.calculateFilterColor()activity.window.decorView.foreground = ColorDrawable(color)}})} }

這樣就能運用到所有的 Activity。

怎么關閉藍光呢? 同樣的套路,在 decorView 增加一個透明前景色。

//關閉藍光 activity.window.decorView.foreground = ColorDrawable(Color.TRANSPARENT)

上面都是針對單個 activity 設置護眼,如何對單獨的 View 設置?也是超級簡單,對 view 設置前景色即可,代碼如下:

val color = UtilBlueEye.calculateFilterColor() view.foreground = ColorDrawable(color)

activity 設置了護眼模式,并不會影響到 Dialog 上,如何處理 Dialog 的護眼模式,也是很簡單。

val color = UtilBlueEye.calculateFilterColor() dialog.window?.decorView?.foreground = ColorDrawable(color)

好了,護眼模式做完了,關電腦,下班回家。

總結

以上是生活随笔為你收集整理的Android如何实现全局的护眼模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产黄色高清 | 亚洲a精品 | 91影院在线免费观看 | 51av视频| 97精品在线| 日韩女优中文字幕 | 日本免费在线一区 | 在线观看日韩欧美 | 上海毛片 | 欧美jjzz| 国产视频在线观看一区 | 亚洲国产综合久久 | 精品久久久久一区二区国产 | 黄频在线 | 国产精品白浆一区二小说 | 开心色站 | 五月天最新网址 | 欧美久久激情 | 亚洲aa视频 | 人人妻人人澡人人爽精品日本 | 2019天天干 | 欧美怡红院| av在线影视| 国产男女无套免费网站 | 狠狠干夜夜爽 | 欧美日韩高清不卡 | 丰满少妇久久久久久久 | 色婷婷久久一区二区三区麻豆 | 国产综合av | 欧美性猛片aaaaaaa做受 | 青娱乐伊人 | 性欧美18 | 国产美女视频 | 中文字幕在线观看三区 | 深夜精品福利 | 2022天天操 | 亚洲xx在线 | 久久.com | 欧美黄色一区二区 | 在线看不卡av | 美丽姑娘免费观看在线观看 | 亚洲精品成人无码毛片 | 欧美一区二区久久久 | 亚洲九九夜夜 | 欧美67194 | 国产盗摄视频在线观看 | 日韩视频一区二区 | 亚洲综合影院 | 久久人人视频 | 午夜性视频 | 嘿咻视频在线观看 | 一级特黄录像免费看 | 成人动漫中文字幕 | 中文字幕a级片 | 在线免费观看av片 | 一区二区三区日 | 国产精品熟女一区二区不卡 | 欧美日本一区二区三区 | 国产精品一区二区三区久久 | 伊人最新网址 | 99精品一区二区三区无码吞精 | 日本一区免费电影 | 极度诱惑香港电影完整 | 黄色片子一级 | 黄污视频网站 | 91成人观看 | 亚洲精品天堂成人片av在线播放 | 日日夜夜精品免费视频 | 国内少妇毛片视频 | 一区二区三区亚洲视频 | 国产绿帽一区二区三区 | 亚洲欧美日韩国产一区 | 成人福利一区 | 亚洲福利精品视频 | 女攻总攻大胸奶汁(高h) | 久久久久久成人精品 | 特级西西444www高清大胆免费看 | 大黄网站在线观看 | 91蝌蚪网 | 色999视频 | 99热网址 | 欧美成人一区二区三区高清 | 国内毛片毛片毛片 | 一级片在线免费 | 在线观看一二区 | 久热色 | 成人一级视频 | 国产夜夜嗨| 好吊在线视频 | 成人毛片大全 | 国产精品sm调教免费专区 | 亚洲第一综合网站 | 亚洲国产精品国自产拍av | 极品国产91在线网站 | 黄色天堂网站 | 一区二区在线精品 | 午夜不卡影院 | 亚洲毛片视频 | 久久a视频 |