cardView卡片式设计、改变阴影颜色、改变圆角大小

Android 5.0给我们提供了design风格的设计模式,cardview

cardview是继承自framelayout的,并且可以设置圆角和阴影使得控件具有立体效果,cardview也可以包含其他的布局容器和控件

引用Gradle 依赖
compile 'com.android.support:cardview-v7:23.2.0'

cardview使用---布局


    

 

 

CardView的常用属性

属性 功能
card_view:cardElevation 阴影的大小
card_view:cardMaxElevation 阴影最大高度
card_view:cardBackgroundColor 卡片的背景色
card_view:cardCornerRadius 卡片的圆角大小
card_view:contentPadding 卡片内容于边距的间隔
card_view:contentPaddingBottom 卡片内容与底部的边距
card_view:contentPaddingTop 卡片内容与顶部的边距
card_view:contentPaddingLeft 卡片内容与左边的边距
card_view:contentPaddingRight 卡片内容与右边的边距
card_view:contentPaddingStart 卡片内容于边距的间隔起始
card_view:contentPaddingEnd 卡片内容于边距的间隔终止
card_view:cardUseCompatPadding 设置内边距,V21+的版本和之前的版本仍旧具有一样的计算方式
card_view:cardPreventCornerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠


cardview添加水波纹

 

android:focusable="true"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"

写这3个属性就可以实现点击水波纹效果

效果图就不贴了。。。很容易实现。并且cardview是向下兼容的。在5.0之前只有点击变颜色,并没有水波纹效果

 

在这里写上之前实现水波纹的一种方法

 

在res目录下创建drawable-v21文件夹及ripple_bg.xml文件

 

cardView卡片式设计、改变阴影颜色、改变圆角大小_第1张图片

 

cardView卡片式设计、改变阴影颜色、改变圆角大小_第2张图片

ripplr_bg.xml


 
    
        
            
            
            
            
        
    

直接给控件设置background

android:background="@drawable/ripple_bg"

 

同样在drawable文件夹中创建同名称的文件  防止在5.0一下手机运行报错



            
            
            

这样就可以做到5.0以上水波纹效果.

 

 

 

扩展------改变cardview阴影颜色

 

CardView本身自带了灰色的阴影颜色,但是是不可修改的,而UI往往要求按钮的颜色是红色的就需要红色的阴影,在GitHub上搜索ShadowLayout等关键字,找到一些实现阴影的库,但有的效果不好,有性能有问题,会一直重绘,导致cpu及内存占用过高,界面卡顿,甚至OOM

最好和官方的CardView库一起使用,不需要特殊修改阴影颜色的地方,使用官方的CardView, 需要修改View阴影的地方才使用

YcCardView implementation 'com.zyp.cardview:cardview:1.0.1'

这样就可以对cardview的阴影进行改变---阴影借鉴掘金文章  CardView改变阴影颜色

 

你可能感兴趣的:(cardView卡片式设计、改变阴影颜色、改变圆角大小)