?selectableItemBackground 水波纹效果
近段时间在学习知乎开源项目Matisse,无意之中发现他们仅仅使用一行代码就实现了水波纹效果,这着实令我大吃一惊!
为了get这个技能,我也是走了很多冤枉路,所以记录一下,也许可能帮助其他童鞋。
先看看他们是如何实现的
android:foreground="?selectableItemBackground"
恩,前面也说,只用这一句就够了。其中 android:foreground
是前景色,我第一次看见这个货的时候是一脸懵逼,我相信不知我一个童鞋对他感觉到陌生。他与android:background
是相对的,相比背景色他的使用就太少了。
android:foreground
为了照顾一下不了解这个函数的童鞋,我简单解释一下
我们写个Demo,父布局文件中只有一个TextView
,
然后我们再TextView
中写点什么,
最后通过设置 android:background
与 android:foreground
观察结果
这里使用的颜色值为 #CF009688
,添加了透明度。
android:background="#CF009688"
的效果
然后在来观察 android:foreground="#CF009688"
的效果
如果不添加透明度,foreground 会完全覆盖文字,我相信你们看完这个Demo就能够明白这个函数的意义了,这里我就不啰嗦了。
?selectableItemBackground 无效
接着上面的demo ,如果我为 TextView 设置 ?selectableItemBackground
,然后运行,会发现一点卵用都没有。
what?没用?那为什么知乎会有效果!是不是还需要设置什么主题 配置之类的!?
这是我第一次运行的心里写照,然后顺着这个坑我摸索了很久…
最后无意中发现是因为TextView 是不可点击的缘故。
所以只需要为View 设置
android:clickable="true"
或者
.setOnClickListener(null);
即可。
但愿不要在有童鞋重蹈我之前的覆辙。
水波纹改色
这个需要在主题中进行配置 ,配置代码如下
<item name="colorControlHighlight">@color/accent_material_light</item>
?selectableItemBackground 水波纹效果相关推荐
- 聊聊Android5.0中的水波纹效果
水波纹效果已经不是什么稀罕的东西了,用过5.0新控件的小伙伴都知道这个效果,可是如果使用一个TextView或者Button或者其它普通控件的话,你是否知道如何给它设置水波纹效果呢?OK,我们今天就来 ...
- Android开发中的水波纹效果实现
编写不易,如有转载,请声明出处:http://blog.csdn.net/zxc514257857/article/details/73200900 前言 android中的水波纹效果是5.0以后 ...
- 去除安卓点击的水波纹效果
在引用了appcompat_v7包后,Android Studio主题样式Base application theme会自动引用最新的主题样式Theme.AppCompat.Light:sdk21版本 ...
- android水波纹点击动画,android 控件点击水波纹效果的几种方案
目前我所知道的至少有三种可以实现点击水波纹的效果 第一种:安卓自带的方法 在安卓中有自带的一种属性,可以实现水波纹的效果,就是在所需要点击的控件属性加上如下代码: android:background ...
- Android点击水波纹扩散效果整理(附带一个自定义的水波纹效果控件)
很久很久没有写博客了,说来也有点惭愧.正好最近整理自己的项目工程目录,看到一些值得分享的控件,准备在之后的几篇博客中准备把它们陆续搬运上来. 这篇博客准备整理一下Android Material De ...
- listview item水波纹效果被覆盖、不显示问题
在adapter view布局中设置了background 即:android:background="@drawable/list_item_background" 然后又在Li ...
- Android 水波纹效果的探究
前言 水波纹效果从Android5.0就已经出来了,基本的使用相信大家都知道了,这里多谈一些相对深层次的使用: 1.基本使用 2.水波纹效果与布局绘制之间的问题 3.长按水波纹扩散效果 4.Butto ...
- android自定义水波纹,Android自定义View——实现水波纹效果类似剩余流量球(示例代码)...
最近突然手痒就想搞个贝塞尔曲线做个水波纹效果玩玩,终于功夫不负有心人最后实现了想要的效果,一起来看下吧: 效果图镇楼 一:先一步一步来分解一下实现的过程 需要绘制一个正弦曲线(sin)或者余弦曲线(c ...
- 水波纹效果,附工程源码
2019独角兽企业重金招聘Python工程师标准>>> 实现的一个水波纹效果,附工程代码. 这个可以用任意图片响应触屏事件显示波纹效果. 很多方面都能用得上,比如动态桌面,游戏,水族 ...
最新文章
- Tokyo Tyrant基本规范(4)--协议
- android导航条高度修改,Android中修改TabLayout底部导航条Indicator长短的方法
- qt 中如何播放声音(QSound)
- git 忽略文件失效
- selenium定位元素的方法_selenium定位元素之冻结窗口
- cesium加载entity图片缩放_Cesium中级教程4 – 空间数据可视化(二)
- RocketMQ 主从同步机制
- java 垃圾回收知识点
- 互联网反欺诈体系中的常用方法
- 王者荣耀女性机器人面世;深圳中院受理金立破产案;Firefox 64 发布 | 极客头条...
- 飞天技术汇大视频专场:全民视频时代下的创新技术之路
- python搜索关键词自动提交_Python如何爬取百度搜索关键词提交
- 狐狸找兔子(java 版)
- 【历史上的今天】10 月 23 日:ipod 问世;谷歌推出 CSE 搜索服务;人机交互领域先驱诞生
- YOLOv5剪枝 | 模型剪枝理论篇
- Javascript 暂停/终止脚本
- imac起死回生,在iMAC 27 2011 mid 上裸机安装windows10
- 百度静态网站全站搜索功能
- 技术人员的公众号如何打造高质量内容和精美排版?
- 如何修改已提交commit信息