背景

列表展示数据时,有些数据因为失效了,需要灰化展示。但是因为每一行数据里面包含多个view(如包含用户姓名、性别等等信息),不方便对每个view进行灰化设置,所以需要一个遮罩层将整行遮盖来达到灰化效果。大致效果如下:

解决方案

列表的item布局采用RelativeLayout或者ConstraintLayout,在layout中增加一个空的view(遮罩层),刚好能盖住其他view,默认设置为不可见。在adapter里根据数据的有效性设置是否打开这层遮罩层。

带遮罩的item布局文件样例如下: 其中maskLayer为遮罩层view,如下几点需要重点注意

  1. android:layout_height="30dp" 这个高度要设置为固定的值,必须刚好和view原本高度相同,不能设置为wrap_content或match_parent。所以此方案不适用于item的高度不固定的情况。
  2. android:background="#80F9F9F9" 设置遮罩层的颜色,前两位是透明度(00到FF,值越小越透明。)
  3. android:clickable="true"和android:focusable="true" 是为了屏蔽点击事件,让点击失效。
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:id="@+id/tv_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="8dp"android:layout_marginLeft="8dp"android:layout_marginTop="8dp"android:textColor="@android:color/black"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"tools:text="TextView" /><Viewandroid:id="@+id/maskLayer"android:layout_width="match_parent"android:layout_height="30dp"android:background="#80F9F9F9"android:clickable="true"android:focusable="true"android:visibility="gone"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></android.support.constraint.ConstraintLayout>
复制代码

demo:

gitee.com/cxyzy1/mask…

安卓开发技术分享: blog.csdn.net/yinxing2008…

转载于:https://juejin.im/post/5c089b695188255125071d9f

安卓实现局部界面遮罩效果相关推荐

  1. android水波纹动画制作,Framer之事件 | 如何制作安卓点击水波纹效果?

    之前的 Framer 教程都是按照个人喜好去写的,没有按照难易程度形成系列.为了让大家能更好地入门,我准备由易到难写一个系列教程,尽量保持在每周一篇的频率. 导读:事件是 Framer 中的一个重要概 ...

  2. 安卓仿微信界面,导航,右上角菜单栏

    下面是安卓开发仿微信界面的代码. 分为3步,第一步是界面的编写,第二步是导航界面,第三步是右上角菜单栏. 开始第一步前先预览一下效果. 第一步,界面. 界面的思路是利用ViewPager+Fragme ...

  3. Android 仿 窗帘效果 和 登录界面拖动效果 (Scroller类的应用) 附 2个DEMO及源码

    在Android学习中,动作交互是软件中重要的一部分,其中的Scroller就是提供了拖动效果的类,在网上,比如说一些Launcher实现滑屏都可以通过这个类去实现.下面要说的就是上次Scroller ...

  4. 巧用遮罩效果,让你动画宣传视频更容易制作 | 万彩动画大师

    在宣传动画视频中随心所欲自定义遮罩蒙版,可以遮挡部分图像内容,也可以显示特定区域的图像内容.遮罩效果的设置甚至为图片增添艺术装饰效果,给观众带来惊艳的视觉享受.那么,遮罩蒙版是什么?到底要怎么用?能够 ...

  5. 安卓登录注册界面开发(附源码)

    源码下载和博客访问:安卓登录注册界面开发(附源码) 前言 最近找安卓登录注册界面,找了好久也没找到比较满意的设计,最后想想其实登录和注册两个界面也不复杂,干脆花点时间自己弄. 界面预览 最后的效果如下 ...

  6. 为图片添加半透明遮罩效果

    平时为图片添加半透明遮罩效果,我的做法如下: 利用标签i实现背景半透明遮罩.当鼠标hover时, 提高i的背景色透明度值background-color: rgba(0, 0, 0, .6) < ...

  7. jquery 半透明遮罩效果 小结

    最近偏离学术的道路越来越远了!! 今天要小结的是实现一个半透明遮罩效果.点击页面上的一个按钮,立即在屏幕的正中央显示某个部件,并且在这个部件之外的区域像是蒙上了一层半透明的遮罩.点击遮罩区域,该正中央 ...

  8. android 图片圆角 遮罩_Android 自定义View练手Demo(一)实现圆角遮罩效果

    Android 自定义View系列文章 Android自定义View实现圆角遮罩效果 一图胜千言,有一个遮罩就会凸显出重点区域 1-1.jpg 本文通过两种方式来实现这种效果,来达到自定义View练手 ...

  9. html怎么鼠标经过添加蒙版遮罩,js实现鼠标移动到图片产生遮罩效果

    本文实例为大家分享了js实现鼠标移动到图片产生遮罩效果的具体代码,供大家参考,具体内容如下 mask .pic{ width:300px; height:250px; background:url(i ...

最新文章

  1. ubuntu18.04 Desktop版本部署13.2.6版本ceph
  2. java字符串分解 StringTokenizer用法
  3. android读取网络配置文件,Android 中保存、读取设置配置数据、记录登录状态
  4. 大四报了个天价培训班,变成量产型炮灰工程师
  5. grunt -- javascript自动化工具
  6. (二)html5中的属性
  7. 电脑故障速排方法-显卡篇
  8. hls fifo_HLS优化方法DATAFLOW你用了吗
  9. leetcode261. 以图判树
  10. 一个控制器怎么转发到另外一个控制器_楼宇自动化系统(BAS),DDC,一个最核心的控制器...
  11. 花式模拟【栈结构】做“日志分析”(洛谷P1165题题解,Java语言描述)
  12. 实战 | Element UI 父子组件传值与事件绑定(正向)
  13. java中各种数据类型的使用
  14. EDMA - DMA QDMA
  15. ISO9000认证与互联网转型
  16. 智慧工厂大数据可视化平台
  17. (转)用4年多时间, 带领微软重登全球市值第一宝座, 纳德拉是如何做到的?
  18. Android屏幕计算公式
  19. 计算机桌面怎么换服,台式电脑怎么换桌面壁纸
  20. hbuilder 打包 php,HBuilder 打包流程

热门文章

  1. [note]标点符号和数学符号所对应的英文
  2. LeetCode 526. Beautiful Arrangement
  3. 1060. 爱丁顿数(25)-PAT乙级真题
  4. 1011. A+B和C (15)-PAT乙级真题
  5. mysql主主复制和mha_MySQL第二章主从复制MHA高可用
  6. 分布式时序数据库InfluxDB
  7. eclipse中设置java注释模板
  8. Jenkins服务器磁盘空间爆满问题解决
  9. java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection 解决
  10. 单例模式与线程安全问题浅析