CardView属性app:cardUseCompatPadding和app:cardPreventCornerOverlap

CardView继承自FrameLayout布局,常用属性如下:


下文CardViewDemo代码

    <android.support.v7.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@color/colorPrimary"
        android:clickable="true"
        android:elevation="10dp"
        android:foreground="?android:attr/selectableItemBackground"
        app:cardBackgroundColor="@android:color/white"
        app:cardCornerRadius="6dp"
        app:cardElevation="10dp"
        app:cardPreventCornerOverlap="true"
        app:cardUseCompatPadding="false">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/girl2" />

    </android.support.v7.widget.CardView>

 

app:cardUseCompatPadding
在Android 5.0及以下的系统中,CardView会添加一个额外的padding来绘制阴影,但是在5.0以上的系统中是没有这个padding的,是直接绘制阴影。所以设置这个属性仅仅是对5.0以上的CardView有作用。

设置为false的时CardView不会专门去添加padding来绘制阴影(5.0以上系统)。

设置为true时,5.0以上的CardView会和5.0以下的保持一致,添加padding后绘制阴影。

app:cardPreventCornerOverlap
在5.0以下,CardView不会裁剪卡片的边界来获得圆角(根据测试情况,我的理解是不裁剪content来获得圆角),同时,CardView会给卡片内容添加一个padding,来让内容不和圆角重叠。可以设置app:cardPreventCornerOverlap属性来选择是否添加这个padding。

所以这个属性只在Android5.0以下起作用。

所以设置为true,也就是添加padding,使content不与圆角重叠。

设置为false,不添加padding,content与圆角重叠,圆角被覆盖。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值