很多时候需要设置imagebutton或者其他类似组件的背景,图像也好,动画也好,颜色也好。
但是有一点。自定义之前,可以看到可点击元素有点击水波纹效果。自定义以后,就没有了。
其实,这个效果是在style里面定义的,当自定义了background了以后,就覆盖了style里面的定义了。
可以简单的设置背景为selector的drawable,可以让使用者确认是否点击成功。
但是我还是希望能实现原始的水波纹效果,看起来也更舒服一点。
网上找到一个办法,可以实现点击水波纹效果并且使imagebutton的背景透明,不会太碍眼
在控件里加入如下属性值即可:
//圆形波纹
android:background=”?android:attr/selectableItemBackgroundBorderless”
//有边界波纹
android:background=”?android:attr/selectableItemBackground”
根据网络上找到的解释,在xml文件里,@符号是调用当前自定义的一些资源。这个已经了解。
而?代表调用主题里面的属性。
还没有深入研究过这个,貌似官网也没找到在哪有解释这些玩意儿的。需要花时间总结一下才行。
参考 ? @ @+的含义