Android 小说阅读护眼模式

实现方案:采用全局dialog 覆盖APP  悬浮在 其他APP之上,给dialog设置护眼色值

自定义护眼模式dialog

public class EyeProtectionDialog extends Dialog {ImageView iv;public EyeProtectionDialog(@NonNull Context context) {super(context, R.style.eye_style);requestWindowFeature(Window.FEATURE_NO_TITLE);Window window = this.getWindow();WindowManager.LayoutParams lp = window.getAttributes();window.getDecorView().setPadding(0, 0, 0, 0);lp.width = WindowManager.LayoutParams.MATCH_PARENT;lp.height = WindowManager.LayoutParams.MATCH_PARENT;lp.flags = WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;  //设置不影响下层的触碰if (Build.VERSION.SDK_INT >= 26) {lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;} else {lp.type = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;}window.setAttributes(lp);window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.eye_layout);iv = findViewById(R.id.iv_eye);}@Overridepublic void show() {super.show();if (iv != null) {iv.setBackgroundColor(getColor(30));}}/***  设置护眼色* @param blueFilterPercent* @return*/public @ColorIntint getColor(int blueFilterPercent) {int realFilter = blueFilterPercent;if (realFilter < 10) {realFilter = 10;} else if (realFilter > 80) {realFilter = 80;}int a = (int) (realFilter / 80f * 180);int r = (int) (200 - (realFilter / 80f) * 190);int g = (int) (180 - (realFilter / 80f) * 170);int b = (int) (60 - realFilter / 80f * 60);return Color.argb(a, r, g, b);}
}

dialog-style

 <style name="eye_style" parent="@android:style/Theme.Dialog"><item name="android:windowFrame">@null</item><!-- 边框 --><item name="android:windowIsFloating">true</item><!-- 是否悬浮在activity上 --><item name="android:windowIsTranslucent">false</item><!-- 半透明 --><item name="android:windowNoTitle">true</item><!-- 无标题 --><item name="android:windowBackground">@android:color/transparent</item><!-- 背景透明 --><item name="android:backgroundDimEnabled">false</item><!-- 模糊 --><item name="android:backgroundDimAmount">0.6</item><!-- 灰度 --><item name="android:windowContentOverlay">@null</item><!-- 对话框是否有遮盖 --></style>
eye_layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/iv_eye"android:layout_width="match_parent"android:layout_height="match_parent"></ImageView>
</RelativeLayout>

权限以及展示

public void permission() {if (Build.VERSION.SDK_INT >= 23) {if (!Settings.canDrawOverlays(getContext())) {Uri packageURI = Uri.parse("package:" + ReaderApplication.getInstance().getPackageName());Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, packageURI);startActivity(intent);} else {EyeProtectionDialog eyeProtectionDialog = new EyeProtectionDialog(getContext());eyeProtectionDialog.show();}} else {EyeProtectionDialog eyeProtectionDialog = new EyeProtectionDialog(getContext());eyeProtectionDialog.show();}}

Android 小说阅读护眼模式相关推荐

  1. android项目小说阅读开发背景颜色,Android 小说阅读护眼模式

    Android 小说阅读护眼模式 实现方案:采用全局dialog 覆盖APP  悬浮在 其他APP之上,给dialog设置护眼色值 自定义护眼模式dialog public class EyeProt ...

  2. android反射调用护眼模式

    android 11反射调用护眼模式/夜间模式 Android 10 推出了 COLOR_DISPLAY_SERVICE 系统服务,具备系统 API 接口,使系统."设置"和系统界 ...

  3. 阅读器护眼模式android代码,pdf阅读器如何设置护眼模式?手机app原来也可以这么强大.docx...

    pdf阅读器如何设置护眼模式?手机app原来也可以这么强大.docx 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 轻快 PDF 阅读器 w ...

  4. Android护眼模式功能小记

    最近自己在做一个小说阅读器,看到某阅有护眼模式功能,别人都有,我怎么能没有? 现在这功能已经不稀奇了,很多手机都带有这个功能. 实现起来不难,用一个蒙版遮在界面上面就行. 至于蒙版,可以用Window ...

  5. android 护眼模式设置参数,节能护眼看这里!玩转Android手机的显示设置

    原标题:节能护眼看这里!玩转Android手机的显示设置 对智能手机而言,除了性能以外,其屏幕的显示效果和续航时间对体验的影响往往更加直观.在系统设置的"显示"功能列表中,我们就能 ...

  6. Android 实现护眼模式

    一.背景 在阅读软件或者儿童软件都需要护眼模式来降低蓝光的辐射. 二.实现方案 首先在每个activity创建的时候在最上层添加一层view,去掉点击事件. 用sp或者mmkv来存储当前是否打开护眼模 ...

  7. 阅读PDF护眼模式颜色设置

    在现在越来越多的电子书充斥着我们的工作与生活,默认模式情况下我们长时间的阅读使得眼睛易产生疲劳,对眼睛有害.其实我们可以开启PDF护眼模式,将阅读软件的背景颜色改为豆绿色,缓解眼睛疲劳.现在给出设置参 ...

  8. android护眼程序原理,Android 护眼模式的实现

    思路:获取content根布局,在上面添加一层浮层,默认透明,开启护眼模式设置护眼色值. 实现:在BaseActivity的onCreate方法中,添加浮层,所有的Activity继承BaseActi ...

  9. Flutter实现Android护眼模式

    有一个奇葩的需求,甲方需要实现Android端护眼需求.查找了一番,发现护眼模式是某些厂商的,某些机型有提供.而且没有对外提供Api调用.于是思索一番,决定自己通过插件方式,使用原生方法实现. 先上效 ...

最新文章

  1. Android 多语言
  2. java反编译工具jadclipse_java反编译工具jad及jadclipse
  3. 新手向:从不同的角度来详细分析Redis
  4. linux php应用多台服务器架构,Nginx+PHP-FPM在两台服务器实现
  5. 数据分析系列剧第四集:行业研究报告与生产计划
  6. Mac下使用Homebrew安装Sphinx和MySQL
  7. ES6-11 Symbol、iterator、forOf、typeArray
  8. hiberntate教程笔记6
  9. VBA多工作簿中多工作表分类汇总
  10. gnu coreutils4.5.1 hostid.c源码解读
  11. Databend 源码阅读系列(一): 开篇
  12. QT之鼠标点击事件学习
  13. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。
  14. 【评测】一种组织蛋白快速提取方法
  15. 关于原神沙漠痕迹效果的踩坑记录
  16. EEGlab导入.mat文件
  17. 浅析简历——中华英才网
  18. 网站点击热图(Heat Map)
  19. 字节跳动人事大调整,“接班”张一鸣的为什么是他?
  20. Charles的功能介绍与使用教程,一学就会,不信就来试试?

热门文章

  1. 【SPSS】两独立样本的极端反应检验和两配对样本的非参数检验详细操作教程(附案例实战)
  2. 图像解析——(java)解析图像各种算法原理
  3. python-颜色识别
  4. stream流 - 将List集合按照指定的规则,转换为Map集合
  5. ios15从隐藏系统导航栏页面进入显示系统导航栏页面后,期望系统导航栏背景色为白色,但是导航栏背景变成黑色问题
  6. 易银波-O2O发展:开启便捷出行新纪元
  7. GBase 8s V8.8 SQL 指南:教程-8.2.2
  8. java基础知识练习作业(0606)
  9. 【设计模式】【27】规格模式
  10. Win10平台中ANSYS 18.2二次开发环境搭建及关联教程