android之CardView的使用
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的使用相关推荐
- Android中CardView的简单使用
Android 5.0的一个新增加的控件CardView. 环境配置 在Android Studio中进行使用,我们需要只需要在Gradle中添加CardView包的依赖即可进行使用. [html] ...
- Android之CardView
文章目录 一.常用属性 二.属性效果展示 三.案例展示 具体代码: 1.一个最简单的示例: 2.复杂化 四.案例 1.布局搭建 2.实体类创建 3.功能实现 4.适配 CardView继承FrameL ...
- Android开发--CardView使用
Android5.0中向我们介绍了一个全新的控件–CardView,从本质上看,可以将CardView看做是FrameLayout在自身之上添加了圆角和阴影效果.请注意:CardView被包装为一种布 ...
- Android开发-CardView卡片View的详解,头条三面技术四面HR
CardView一般用于需要显示阴影效果的UI,此外CardView还提供了圆角的功能.(嘿嘿,这东西还能直接设置成圆形,可以简单的弄成圆形View).CardView其实本身是使用FrameLayo ...
- Android 使用CardView轻松实现卡片式设计
Material design中有一种很个性的设计概念:卡片式设计(Cards),这种设计与传统的List Item有所区别,Cards包含更多的内容元素和拥有自己的UI特征,关于Cards的设计规范 ...
- Android去除CardView默认的阴影
平时使用CardView默认是带有阴影效果的,如果不想要阴影效果,只需要将以下属性设置为0即可: app:cardElevation="0dp" app:cardMaxElevat ...
- android cardview控件,CardView控件的使用方式
欢迎Follow我的GitHub, 关注我的简书. 其余参考Android目录. CardView Android CardView是一种卡片视图, 主要是以卡片形式显示内容, 让我们先看看效果吧. ...
- 连接Android与ASP.NET Core Web API的完整教程
目录 准备数据库 ASP.NET Core Web API项目 创建新的ASP.NET Core Web API项目 实体 导入EF Core 创建DbContext 将连接字符串添加到appsett ...
- Android学习文章推荐
这两天准备给电脑重装系统,所以把浏览器里珍藏的一些网站整理一下贴出来,每项排名分先后顺序 网站推荐 网站推荐 介绍 稀土掘金 确实很多干货啊 出门问问 好像和google合作了吧 云之讯-开放平台 工 ...
最新文章
- [跟我学UML] UML包图中的包引入和包合并
- SQL SERVER 2005 同步复制技术
- leetcode算法第9题
- rocketmq 消息 自定义_rocketMq-Topic创建过程
- 剑指 Offer 05. 替换空格(两种做法)
- 使用Hystrix DSL创建弹性骆驼应用程序
- 1449 砝码称重(思维)
- 第六章 参数估计(续)
- 一段挂起进程中所有线程的代码
- 局部变量是线程安全的,原因是什么
- 两个数相乘积一定比每个因数都大_两个多位数相乘,积一定比每一个因数都大。[ ]...
- Flask的Rsponse响应对象
- 云丰计算机,于云丰-中国科学院大学-UCAS
- 海南大学考研经验分享之(考研数学)
- K-Means算法与FCM算法
- maya2020卸载不干净安装不了_Maya2020安装失败怎么办?2018却可以安装?
- JavaScript模拟出一个input用于添加本地文件
- java getbean不同实现_JavaBean的属性可读写,编写时set方法和get方法必须配对。
- 例5-3 安迪的第一个字典(Andy‘s First Dictionary,UVa 10815)
- rtklib学习——DCB改正
热门文章
- Vue中的this.$store.state.xx.xx
- 非LL(1)文法到LL(1)文法的等价变换
- 交通灯系统51单片机设计(附Proteus仿真、C程序、原理图及PCB、论文等全套资料)
- 【Java并发编程的艺术】读书笔记——Java并发编程基础
- Trimmomatic、bowtie2、samtools和bedtools安装过程全记录(已全部安装成功)
- warning C4996的分析
- MMKV 原理、使用以及简单封装
- 【Niagara 01】Tridium N4使用——入门及新建站点
- Python爬虫汉字乱码问题
- 【设计模式】单例模式是什么?如何实现单例模式?单例模式常见问题?