android 圆角 水波纹_Android给CardView加边框以及水波纹效果

最近开发App遇到一个效果,先看效果如下图,就是列表中item每个都是CardView,然后cardView有一个边框红色或者其他颜色,还需要item点击有水波纹效果。

设置边框,圆角等我们很自然的想到了shape,先定义shape,

然后设置android:background=”@drawable/shape_red_border_white_bg”,这样就可以了。但是水波纹呢,水波纹我们一般也是用的background属性:android:background=”?attr/selectableItemBackground”,这样就冲突了,好在还有一个属性叫foreground。我们在加一行android:foreground=”?attr/selectableItemBackground”就行了,既可以设置背景shape,又可以设置水波纹

View源码中的一段 case R.styleable.View_foreground: if (targetSdkVersion >= VERSION_CODES.M || this instanceof FrameLayout) { setForeground(a.getDrawable(attr)); } break; 从上面代码可以看出,foreground属性只有在以下两种情况下生效: 1. 安卓M版本(6.0)及以上 2. FrameLayout本身及其子类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值