android项目小说阅读开发背景颜色,Android 小说阅读护眼模式
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);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.eye_layout);
iv = findViewById(R.id.iv_eye);
}
@Override
public void show() {
super.show();
if (iv != null) {
iv.setBackgroundColor(getColor(30));
}
}
/**
* 设置护眼色
* @param blueFilterPercent
* @return
*/
public @ColorInt
int 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
eye_layout
权限以及展示
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项目小说阅读开发背景颜色,Android 小说阅读护眼模式相关推荐
- Android护眼模式功能小记
最近自己在做一个小说阅读器,看到某阅有护眼模式功能,别人都有,我怎么能没有? 现在这功能已经不稀奇了,很多手机都带有这个功能. 实现起来不难,用一个蒙版遮在界面上面就行. 至于蒙版,可以用Window ...
- Android 实现护眼模式
一.背景 在阅读软件或者儿童软件都需要护眼模式来降低蓝光的辐射. 二.实现方案 首先在每个activity创建的时候在最上层添加一层view,去掉点击事件. 用sp或者mmkv来存储当前是否打开护眼模 ...
- android反射调用护眼模式
android 11反射调用护眼模式/夜间模式 Android 10 推出了 COLOR_DISPLAY_SERVICE 系统服务,具备系统 API 接口,使系统."设置"和系统界 ...
- Word 2016 怎么设置护眼模式 页面颜色设置
操作方法: 首先我们在菜单栏中,点击上方的[设计]>[页面颜色],在里面选择[其他颜色]. 绿豆沙 #C7EDCC RGB(199, 237, 204) 银河白 #FFFFFF RGB(255, ...
- 总结android项目的基本开发步骤(转帖)
总结android项目的基本开发步骤(转帖) 做了几个android企业应用项目后,总结了项目的基本开发步骤,希望能够交流. 一 应用规划: ※确定功能. ※必须的界面及界面跳转的流程 ...
- Android 小说阅读护眼模式
Android 小说阅读护眼模式 实现方案:采用全局dialog 覆盖APP 悬浮在 其他APP之上,给dialog设置护眼色值 自定义护眼模式dialog public class EyeProt ...
- Android项目驱动式开发教程 第2版,《Android项目驱动式开发教程》第一章开发入门.ppt...
<Android项目驱动式开发教程>第一章开发入门 1.4 项目框架分析 4 android:versionName="1.0" > 5 8 第9行代码andro ...
- android textview获取背景颜色,Android TextView背景颜色与背景图片设置
Android TextView 背景颜色与背景图片设置,android textview 控件,android textview 背景, android textview 图片,android te ...
- android按钮背景颜色函数,Android按钮背景颜色(Android button background color)
Android按钮背景颜色(Android button background color) 我想在我的应用程序中设置按钮的背景颜色,我无法实现我想要的结果... 我试图设置的颜色是holo_gree ...
最新文章
- Python: Monitoring a Directory
- 元宇宙iwemeta: 北交所开创,资本市场服务创新型中小企业掀开新篇章,上市企业小盘点
- IT从业者(程序员等)之强身健体-武术
- 学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!附下载链接!...
- 在Word中插入条形码又一法
- java基础--网络编程
- 异步通信在生活中的例子_聊聊工作中经常遇到的“异步”,你掌握了多少
- ms查约束具体代码_ECCV 2020附代码论文合集(CNN,图像分割)
- webpack打包生成的dist文件如何运行
- C语言-ATT拓展内联汇编(ATT/GCC)
- 失败原因【object object】_使用前端框架Vue的原因!
- PostgreSQL“ DESCRIBE TABLE”
- tensorflow精进之路(二十)——使用slim模型库训练自己的数据
- 上岸后如何选择一个好的导师
- spass是Java吗_Java SpassFingerprint类代码示例
- python链表的实例_python数据结构链表之单向链表(实例讲解)
- 火山引擎举办视频云科技原力峰会,发布面向体验的全新视频云产品矩阵
- priority的用法
- 会写代码的CTO曹艳白曹总,智核创投创始人,给搜房贡献的第一个大数据方面的专利...
- Rush rush 。◕.◕。