Google在android5.0的时候发布了一个新的控件CardView(卡片布局),其继承于FrameLayout,可以作为一个ViewGroup来使用。其实现的卡片效果可以是圆角的也可以添加阴影,使用非常的简单,下面来简单的教大家使用。

准备工作:

1、更新到最新的SDK,在sdk/extras/android/support/v7/中找到CardView文件夹

2、导入上一步找到的文件夹到eclipse,更改项目为library项目。

3、新建自己的工程,关联导入的CardView项目。

CardView中常用的属性:

app:cardBackgroundColor="#303069",设置背景色

app:cardCornerRadius="8dp",设置卡片的圆角半径

app:cardPreventCornerOverlap="true",内容是否在边角的时候重叠,true为不重叠

app:cardElevation="8dp",阴影的高度

在materia design中,常见到ripple效果(波纹)和Z轴阴影,那么Google是如何设计这些效果的呢?是这样的,Google认为手机屏幕显示就如同一个水池,手机屏幕的玻璃就相当于水面,按压屏幕的时候产生ripple效果,显示的物体在屏幕里面,也就是在水池底部,那么如果要显示阴影效果,只能把物体往上吸,这样光从上面射下去才会有阴影效果,所以Z轴的设置都是正的,要达到这个效果,自然要缩小视图的尺寸,这样就浪费了屏幕的显示区域,我们来设置不同的阴影高度,看下显示的效果:

cardElevation设置为8dp:

设置为1dp:

可以看到边距明显的缩小了。

下面就来实现上面的效果,并且给CardView添加点击监听。总共需要在两处设置,一个是布局文件,一个是代码。

布局文件:

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res/com.xinxue.cardviewdemo"android:id="@+id/cardView"android:layout_width="match_parent"android:layout_height="@dimen/cardView_height"app:cardBackgroundColor="#303069"app:cardCornerRadius="8dp"android:layout_gravity="center"app:cardPreventCornerOverlap="true"app:cardElevation="8dp"app:contentPadding="3dp" ><ImageViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:scaleType="fitXY"android:src="@drawable/b1" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="right|bottom"android:padding="10dp"android:text="风景图"android:textColor="#ff0"android:textSize="15sp"android:textStyle="italic" /></android.support.v7.widget.CardView>

代码中:

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);cardView = (CardView) findViewById(R.id.cardView);cardView.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this,"点到我啦~~~~~", Toast.LENGTH_LONG).show();}});}

来看下效果:

扫描关注我的微信公众号:

ok,下面提供Demo和library下载,直接把两个工程导入进去就可以运行啦~~~~·

最后附上demo:demo下载

android之CardView的使用相关推荐

  1. Android中CardView的简单使用

    Android 5.0的一个新增加的控件CardView. 环境配置 在Android Studio中进行使用,我们需要只需要在Gradle中添加CardView包的依赖即可进行使用. [html]  ...

  2. Android之CardView

    文章目录 一.常用属性 二.属性效果展示 三.案例展示 具体代码: 1.一个最简单的示例: 2.复杂化 四.案例 1.布局搭建 2.实体类创建 3.功能实现 4.适配 CardView继承FrameL ...

  3. Android开发--CardView使用

    Android5.0中向我们介绍了一个全新的控件–CardView,从本质上看,可以将CardView看做是FrameLayout在自身之上添加了圆角和阴影效果.请注意:CardView被包装为一种布 ...

  4. Android开发-CardView卡片View的详解,头条三面技术四面HR

    CardView一般用于需要显示阴影效果的UI,此外CardView还提供了圆角的功能.(嘿嘿,这东西还能直接设置成圆形,可以简单的弄成圆形View).CardView其实本身是使用FrameLayo ...

  5. Android 使用CardView轻松实现卡片式设计

    Material design中有一种很个性的设计概念:卡片式设计(Cards),这种设计与传统的List Item有所区别,Cards包含更多的内容元素和拥有自己的UI特征,关于Cards的设计规范 ...

  6. Android去除CardView默认的阴影

    平时使用CardView默认是带有阴影效果的,如果不想要阴影效果,只需要将以下属性设置为0即可: app:cardElevation="0dp" app:cardMaxElevat ...

  7. android cardview控件,CardView控件的使用方式

    欢迎Follow我的GitHub, 关注我的简书. 其余参考Android目录. CardView Android CardView是一种卡片视图, 主要是以卡片形式显示内容, 让我们先看看效果吧. ...

  8. 连接Android与ASP.NET Core Web API的完整教程

    目录 准备数据库 ASP.NET Core Web API项目 创建新的ASP.NET Core Web API项目 实体 导入EF Core 创建DbContext 将连接字符串添加到appsett ...

  9. Android学习文章推荐

    这两天准备给电脑重装系统,所以把浏览器里珍藏的一些网站整理一下贴出来,每项排名分先后顺序 网站推荐 网站推荐 介绍 稀土掘金 确实很多干货啊 出门问问 好像和google合作了吧 云之讯-开放平台 工 ...

最新文章

  1. [跟我学UML] UML包图中的包引入和包合并
  2. SQL SERVER 2005 同步复制技术
  3. leetcode算法第9题
  4. rocketmq 消息 自定义_rocketMq-Topic创建过程
  5. 剑指 Offer 05. 替换空格(两种做法)
  6. 使用Hystrix DSL创建弹性骆驼应用程序
  7. 1449 砝码称重(思维)
  8. 第六章 参数估计(续)
  9. 一段挂起进程中所有线程的代码
  10. 局部变量是线程安全的,原因是什么
  11. 两个数相乘积一定比每个因数都大_两个多位数相乘,积一定比每一个因数都大。[ ]...
  12. Flask的Rsponse响应对象
  13. 云丰计算机,于云丰-中国科学院大学-UCAS
  14. 海南大学考研经验分享之(考研数学)
  15. K-Means算法与FCM算法
  16. maya2020卸载不干净安装不了_Maya2020安装失败怎么办?2018却可以安装?
  17. JavaScript模拟出一个input用于添加本地文件
  18. java getbean不同实现_JavaBean的属性可读写,编写时set方法和get方法必须配对。
  19. 例5-3 安迪的第一个字典(Andy‘s First Dictionary,UVa 10815)
  20. rtklib学习——DCB改正

热门文章

  1. Vue中的this.$store.state.xx.xx
  2. 非LL(1)文法到LL(1)文法的等价变换
  3. 交通灯系统51单片机设计(附Proteus仿真、C程序、原理图及PCB、论文等全套资料)
  4. 【Java并发编程的艺术】读书笔记——Java并发编程基础
  5. Trimmomatic、bowtie2、samtools和bedtools安装过程全记录(已全部安装成功)
  6. warning C4996的分析
  7. MMKV 原理、使用以及简单封装
  8. 【Niagara 01】Tridium N4使用——入门及新建站点
  9. Python爬虫汉字乱码问题
  10. 【设计模式】单例模式是什么?如何实现单例模式?单例模式常见问题?