博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓实现局部界面遮罩效果
阅读量:5789 次
发布时间:2019-06-18

本文共 626 字,大约阅读时间需要 2 分钟。

背景

列表展示数据时,有些数据因为失效了,需要灰化展示。但是因为每一行数据里面包含多个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" 是为了屏蔽点击事件,让点击失效。
复制代码

demo:

安卓开发技术分享:

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

你可能感兴趣的文章
程序员最讨厌的9句话,你可有补充?
查看>>
PAT A1037
查看>>
浅谈RPC
查看>>
TextView 超链接点击跳转到下一个Activity
查看>>
sql server 2008安装的时候选NT AUTHORITY\NEWORK SERVICE 还是选 NT AUTHORITY\SYSTEM ?
查看>>
【Linux】Linux中常用操作命令
查看>>
MyBatis3-SqlSessionDaoSupport的使用
查看>>
ReactiveSwift源码解析(三) Signal代码的基本实现
查看>>
MVC模式利用xib文件定制collectionCell
查看>>
(六)Oracle学习笔记—— 约束
查看>>
【SQL】查询数据库中某个字段有重复值出现的信息
查看>>
mysql 行转列 列转行
查看>>
[Oracle]如何在Oracle中设置Event
查看>>
top.location.href和localtion.href有什么不同
查看>>
02-创建hibernate工程
查看>>
Open Graph Protocol(开放内容协议)
查看>>
Ubuntu18.04中配置QT5.11开发环境
查看>>
Exception的妙用
查看>>
基于浏览器的开源“管理+开发”工具,Pivotal MySQL*Web正式上线!
查看>>
JavaScript(五):变量的作用域
查看>>