CardView 是 Google 官方发布 MD 风格卡片布局控件,开发者可以很方便的使用它将布局做成卡片效果,其继承自 FrameLayout布局,并在其基础上添加了圆角和阴影等效果。

具体属性如下:

CardView_cardBackgroundColor        设置背景色
CardView_cardCornerRadius           设置圆角大小
CardView_cardElevation              设置z轴阴影
CardView_cardMaxElevation           设置z轴最大高度值
CardView_cardUseCompatPadding      为 android 5.0 及以上版本的增加padding值来显示阴影效果,默认为false
设置内边距,V21+的版本和之前的版本具有一样的计算方式。

CardView_cardPreventCornerOverlap   是取消android 5.0 以下版本的padding ,默认为true
在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠

CardView_contentPadding             内部边距,子View与CardView的距离
CardView_contentPaddingLeft         内部左侧边距
CardView_contentPaddingTop          内部顶部边距
CardView_contentPaddingRight        内部右侧边距
CardView_contentPaddingBottom       内部底部边距

使用:

  <android.support.v7.widget.CardViewandroid:layout_width="match_parent"android:layout_height="match_parent"app:cardBackgroundColor="@color/colorAccent"app:cardUseCompatPadding="true"app:cardPreventCornerOverlap="true"app:contentPadding="10dp"app:cardElevation="5dp"app:cardCornerRadius="10dp"app:cardMaxElevation="10dp"android:foreground="?android:selectableItemBackground"android:clickable="true"><!--添加自己的布局--></android.support.v7.widget.CardView>

具体介绍:

1,CardView_cardUseCompatPadding       为 android 5.0 及以上版本的增加padding值来显示阴影效果,默认为false

在Android 5.0及以下的系统中,CardView会添加一个额外的padding来绘制阴影,但是在5.0以上的系统中是没有这个padding的,是直接绘制阴影。

所以设置这个属性仅仅是对5.0以上的CardView有作用。

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

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

如下图:android 8.0,可以看到,属性设为true时,图片四周有一圈白色空白,即为padding,

2,CardView_cardPreventCornerOverlap    取消android 5.0 以下版本的padding ,默认为true

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

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

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

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

android 4.4 手机展示:设为true,很明显的看到图片周围的的padding,

所以在使用cardView,一般都会添加这两个属性:

app:cardPreventCornerOverlap="false"
app:cardUseCompatPadding="true"

为了让手机在android各个版本保持一致。

3,设置内边距:‘

CardView_contentPadding             内部边距,子View与CardView的距离
CardView_contentPaddingLeft         内部左侧边距
CardView_contentPaddingTop          内部顶部边距
CardView_contentPaddingRight        内部右侧边距
CardView_contentPaddingBottom       内部底部边距

使用  android:padding="10dp" 等设置cardView的padding值,是无效的,因为CardView 重写了这个方法,看源码可以知道,里面是空实现,所以设置padding值就只能使用  app:contentPadding="10dp"  等属性

4,设置背景色

同理:设置background 背景色 也是一样的道理

CardView_cardBackgroundColor        设置背景色

android:background="" 是无效的,

需要使用: app:cardBackgroundColor="" 来设置背景色

5,CardView点击效果:

使用 属性

android:foreground="?android:selectableItemBackground"

android:clickable="true"

<android.support.v7.widget.CardViewandroid:layout_width="match_parent"android:layout_height="200dp"android:layout_margin="20dp"app:cardPreventCornerOverlap="false"app:cardUseCompatPadding="true"app:cardCornerRadius="10dp"app:cardElevation="5dp"android:foreground="?android:selectableItemBackground"android:clickable="true">

点击CardView ,5.0以上 会出现 水波纹效果,5.0以下 是简单的变暗效果

CardView属性简介相关推荐

  1. iOS之CAGradientLayer属性简介和使用

    1.CAGradientLayer简介 CAGradientLayer用于制作背景图层的颜色渐变,也就是颜色梯度!相关属性简介: #import <QuartzCore/CALayer.h> ...

  2. Android Activity动画属性简介

    Android Activity动画属性简介 在Android当中 设置activity的动画 需要复写 android:windowAnimationStyle这个属性 我们自定义一个动画样式来继承 ...

  3. z-index属性简介

    z-index属性简介 引用: z-index : auto | number auto:默认值. number:无单位的整数值,可为负数. z-index 值较大的元素将叠加在z-index值较小的 ...

  4. AE基础教程(21)——第21章 层的属性简介

    层的属性简介 以文本层为例: 新建合成--新建文本

  5. html dom子对象属性,html DOM 对象之childNodes属性简介说明

    摘要: 下文讲述childNodes属性简介说明,如下所示: childNodes属性简介 childNodes属性功能: 返回当前html元素的所有子节点. childNodes属性语法: let ...

  6. Log4j additivity属性简介说明

    转自: Log4j additivity属性简介说明 下文笔者将讲述Log4j中的additivity属性的相关简介说明,如下所示: Log4j中additivity属性的功能说明 Log4j中add ...

  7. Vue——计算属性(计算属性简介、计算属性和方法的区别:(面试)、关于计算属性 函数什么情况下调用、案例)

    目录 计算属性(面试) 1.计算属性简介 2.计算属性和方法的区别:(面试) 3.关于计算属性 函数什么情况下调用​​​​​​​ 4.案例:购物车页面计算总价 计算属性(面试) 1.计算属性简介 把c ...

  8. audio和vide多媒体新属性简介:

    前言:HTML5 中 Audio and Video的使用方法比较简单,但就是比较复杂,方法属性多.如果不常用的几乎难以记住,甚至有些人难以区分不同属性和方法的作用,更别说应用了.以下对 Audio ...

  9. Odoo中model中使用_inherit / _inherits属性简介

    Odoo中model中使用_inherit / _inherits属性简介 以odoo12环境为例,生产厂家模型为例进行解释说明. 1.正常使用 "_inherit" 是用于对模型 ...

最新文章

  1. 《庆余年》里范闲背了个诗,把这个GitHub项目带火了
  2. 让PHP更快的提供文件下载 【转】
  3. 老王Python-进阶篇4-面向对象第三节
  4. 生成下拉框的几种方法总结——数据来源:数据库
  5. CodeForces 516E Drazil and His Happy Friends(数学+最短路)
  6. 【转】ABP源码分析十八:UI Inputs
  7. Apache Flink 漫谈系列(06) - 流表对偶(duality)性
  8. sql server 群集_设计有效SQL Server群集索引
  9. Spring MVC表单实例
  10. 语音识别之--音频编解码
  11. 计算机处理技术职业道德与论文,计算机职业道德j论文.doc
  12. linux 创建mbr分区,MBR分区类型简介
  13. word删除空白页删不了怎么办?Word怎么删除空白页?
  14. java话费充值代码_话费充值接口示例代码
  15. WPS的Excel做一个下拉选择功能
  16. 数藏行业公众号裂变,单日拉新8w+,实现低成本获客?
  17. ITIL 4 升级大揭秘,你关心的问题都全了!
  18. 算法系列——输出所有的笛卡尔积组合
  19. mac中删除相关快捷键
  20. 解决Laydate在弹出层中一闪而过的问题

热门文章

  1. Redis是什么?有什么用?
  2. C# SuperSocket 手把手教你入门 傻瓜教程---5(探索自定义AppServer、AppSession,Conmmand,用配置文件App.comfig启动服务器)
  3. win10禁用笔记本原本键盘
  4. matlab代码注释技巧
  5. SSI服务端包含技术
  6. wireless tools笔记
  7. Python:爬虫乱码
  8. Dilated Convolution膨胀卷积感受野详解
  9. 大事件!PCIe SSD与SATA SSD同价啦
  10. 制作使用天空盒(Skyboxes)