置灰前:

image.png

置灰后:

image.png

Android页面置灰

方案1.Android页面绘制流程一般分为measure、layout、draw,页面置灰在draw方法中实现。draw方法参数有canvas、paint,canvas是界面的画布,paint是绘制界面的画笔。可以通过更改paint的属性更改界面背景颜色,通过设置颜色过滤器更改画笔的色调、饱和度和亮度。置灰效果饱和度为0,画笔的设置代码:

Paint paint = new Paint();

ColorMatrix cm = new ColorMatrix();

cm.setStaturation(0);

paint.setColorFilter(new ColorMatrixColorFilter(cm));

方案2.考虑性能使用HardwareLayer(GPU内部的Buffer)对绘制的图形进行缓存。设置方法setLayerType()强制View创建自己对应的层,并将自己绘制到层上。

方案3.给Activity的顶层View设置置灰,实现全局置灰效果。获取界面的根View:

//java

View view = activity. getWindow(). getDecorView();

Paint paint = new Paint();

ColorMatrix cm = new ColorMatrix();

cm.setStaturation(0);

paint.setColorFilter(new ColorMatrixColorFilter(cm));

view. setLayerType(View.LAYER_TYPE_HARDWARE, paint);

//kotlin

val view: View = window.decorView

val paint = Paint()

val cm = ColorMatrix()

cm.setSaturation(0f)

paint.colorFilter = ColorMatrixColorFilter(cm)

view.setLayerType(View.LAYER_TYPE_HARDWARE, paint)

android背景置灰,android view置灰(哀悼日)相关推荐

  1. android背景不填充,(Android Studio)应用程序背景图像不填充屏幕

    我认为它正在发生,因为顶层容器中存在填充...这就是你的情况下的相对布局 如果您的相对布局看起来像下面的代码 xmlns:tools="http://schemas.android.com/ ...

  2. android背景图加蒙版,Android实现蒙板效果

    本文实例为大家分享了Android实现蒙板效果的相关代码,供大家参考,具体内容如下 1.不保留标题栏蒙板的实现 效果: 原理: 1.弹窗时,设置背景窗体的透明度 2.取消弹窗时,恢复背景窗体的透明度 ...

  3. android背景图拉伸,Android使背景图像不拉伸它指定的视图_android_开发99编程知识库...

    图片的最大值在将图片分配到背景时,它看起来像是什么,而不是. 如果图像大于表,我非常喜欢它不伸展顶部 TableView . 我已经包含了一个空的"视图",以便为表背景提供一些额外 ...

  4. android 背景图缩放,android背景图按比例缩放方法

    直接在你的layout文件的开头加一个FrameLayout ,里面放一个ImageView,因为只有android:src可以设置android:scaleType,android:backgrou ...

  5. android背景图片高度,Android ImgaView背景图片不失真处理

    需求:app的欢迎界面采用一个简单的ImageView'显示一张图片的形式,但是图片总是会失真.扭曲.由于本人强迫症严重.所以就考虑了所有的思路后,在参考了网友的建议后,采用动态进行适配. 解决方案: ...

  6. android背景气泡,仿Android微信消息气泡

    一.前言 在网上搜索相关主题,大家会发现答案千篇一律地使用9-Patch图片作为TextView的背景.这个方法我也用过,效果不好不说,还存在一些问题. 使用9-Patch文件,本质上是用图片作为背景 ...

  7. android设置背景颜色渐变,Android背景渐变色(shape,gradient)

    Android设置背景色可以通过在res/drawable里定义一个xml,如下: android:startColor="#FFF" android:endColor=" ...

  8. Android 置灰指定View

    实现全局置灰使用View View view = getActivity().getWindow().getDecorView(); Java 实现方法 Paint paint = new Paint ...

  9. android+button+不可点击置灰,android:tint 给imagebutton着色 按钮灰色

    直接在xml进行颜色变化,使用三目运算符. 比如要给Imagebutton,在某个条件时变成灰色,其他变成OK色,直接在XML就搞定了: android:id="@+id/connect_o ...

  10. android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...

最新文章

  1. 高频开关电源原理_程控开关电源的工作原理
  2. Mysql进阶(2)——组复制
  3. 零基础学Python(第九章 循环控制【break】与【continue】)
  4. java 泛型调用方法调用_java – 如何使用泛型调用最具体的方法?
  5. Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
  6. 深度学习入门笔记(四):神经网络
  7. java 改文件名的例子
  8. python pypdf2另存为图片_Python系列—PDF文本与图片抽取
  9. 造梦工厂宿舍大楼项目远程预付费电能管理系统的设计与应用
  10. 电脑莹石云显示认证失败_添加萤石云方法与常见问题解答
  11. 激光扫描测距仪的实质就是3D激光雷达
  12. 程序员如何站在巨人的肩膀上
  13. python如何获取图片的尺寸大小_Python获取图片的大小/尺寸
  14. 主数据管理平台应具备的六大功能
  15. 起重吊装资质证书如何办理通过?经验之谈
  16. 关于pip 的依赖项解析器当前未考虑安装的所有包。此行为是以下依赖项冲突的根源。
  17. GAMES-101-个人总结归纳-Shading
  18. html创建盒子,HTML 盒子
  19. 无任何格外需求的命令行C++飞机大战,内含BOSS,动画,万行代码!免费奉上!
  20. java毕业设计开题报告论文基于JavaWeb酒店管理系统开发与设计

热门文章

  1. Chrome浏览器的复用
  2. ip代理 12-02-03
  3. 8. 查询表orders——统计各类商品的销售量
  4. 【Java程序员面试】直接被SpringBoot干趴?NONONO!拒绝做冤大头!!
  5. 吴恩达最受欢迎AI课程机器学习Cousera《Machine Learning》课程完整版
  6. xctf攻防世界 CRYPTO高手进阶区 best_rsa
  7. 跳槽遇到背景调查,你可以这样做!
  8. VSCode更改默认浏览器
  9. 灵活有效的激励手段-鲶鱼效应
  10. 如何让mysql数据库支持超大图片