android自动生成cardview,CardView
目录:
CardView简介
CardView基本属性(xml文件中)
某些属性使用效果
CardView使用方法
高级效果 波纹点击(像点击Button那样)
注意 对低版本的兼容处理
CardView简介
CardView是API21(Android5.0)发布的卡片式控件。简单的说就是卡片视图,扁平化视图。
继承自FrameLayout
public class CardView extends FrameLayout
CardView可以作为根布局使用,也可以作为ReCycleView或者ListView的Item
CardView基本属性(xml文件中)
app:cardBackgroundColor这是设置背景颜色
app:cardCornerRadius这是设置圆角大小
app:cardElevation这是设置阴影(z轴),具体效果见下面
app:contentPadding 设置内容的padding CardView子布局与CardView边界
app:contentPaddingLeft 设置内容的左padding
app:contentPaddingTop 设置内容的上padding
app:contentPaddingRight 设置内容的右padding
app:contentPaddingBottom 设置内容的底padding
app:cardUseCompatPadding 是否使用CompatPadding, 官方说是设置内边距,个人感觉不到什么,具体效果见下面
app:cardPreventCornerOverlap 是否使用PreventCornerOverlap,设置内边距(API20及以下中),通常该属性为了避免内容和边角的重叠
某些属性使用效果
阴影Elevation
10dp的阴影Elevation.png
30dp的Elevation(阴影).png
app:contentPadding CardView子布局与CardView边界
ContentPadding为10dp效果 背景为红
app:cardUseCompatPadding 设置内边距
cardUseCompatPadding="true".png
cardUseCompatPadding_false.png
CardView使用方法
当前IDE:Android Studio 2.2正式版
jdk1.8.102
compileSdkVersion 25
buildToolsVersion "25.0.2"
gradle 导包
dependencies {
...
compile 'com.android.support:cardview-v7:25.2.0'
}
CardView是通常是定义在布局文件中:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical|center_horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.minminaya.cardview_learning.MainActivity">
android:id="@+id/w"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="10dp"
app:cardElevation="10dp">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@mipmap/me"/>
通常情况下,只需要radius与elevation就可以达到很漂亮的卡片效果,甚至悬浮式的
当然,也可以在code中使用:
public void setRadius(float radius)
public void setContentPadding
public void setUseCompatPadding(boolean useCompatPadding)
public void setCardBackgroundColor(@ColorInt int color)
...
高级效果 波纹点击(像点击Button那样)
默认CardView的android:clickable属性是false的,也就是默认不可以点击,没有任何触摸反馈
实现方法:
在CardView布局文件节点添加
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
gif图录了看不出来就不放图了QAQ
注意 对低版本的兼容处理
CardView在API 21以下,圆角效果会丢失:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="25dp" >
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@mipmap/me"/>
不同安卓版本的效果:
Android7.0.png
Android4.4.png
可以看出很明显API19(4.4)出现很大的问题:虽然有圆角效果,但是图片四周是方的
解决方法:
在CardView布局里添加cardPreventCornerOverlap(默认是true)属性,值为false
cardPreventCornerOverlap官方文档的意思是说在API20及更低版本中添加内边距,其实这个属性是为了防止卡片内容和边角的重叠
加了之后变成了这样:
cardPreventCornerOverlap为false
!!!!预警
这和以前竟然不一样了,以前是图片的直角压在了卡片圆角上,而且直角还是在CardView外面,好吧,估计是Android官方优化了一下,现在是卡片效果但是会多出一条白边,啊哈哈哈哈哈啊
大召唤术。。。。借用一张图---------
以前的效果
本篇完
android自动生成cardview,CardView相关推荐
- Android自动生成Shape资源文件,迈出可视化脚手架第一步(上)
系列文章目录 第一章:Android自动生成代码,可视化脚手架,将大大提高开发效率 第二章:Android自动生成代码,可视化脚手架之环境搭建 第三章:Android自动生成代码,可视化脚手架之基础信 ...
- android自动生成dimens适配文件
android自动生成dimens适配文件 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 android自动生成dimens适配文件 前言 一.使用步骤 1.引入库 2. ...
- android自动生成dimens适配文件,无需Java工具类
** android自动生成dimens适配文件 ** 在编写ui界面时因为手机分辨率大小不同,所以展现出来的效果也是不同的,这个时候就需要考虑适配器,让根据手机分辨率自动适配相应尺寸来展示界面,可以 ...
- android 如何生成表格,SmartTable:Android 自动生成表格框架
一款android自动生成表格框架 功能介绍 快速配置自动生成表格: 自动计算表格宽高: 表格列标题组合: 表格固定左序列.顶部序列.第一行.列标题.统计行: 自动统计,排序(自定义统计规则): 表格 ...
- android 可编辑的表格框架,smartTable-一款android自动生成表格框架---A Android automatically generated table framework...
一款android自动生成表格框架功能介绍 1. 快速配置自动生成表格: 2. 自动计算表格宽高: 3. 表格列标题组合: 4. 表格固定左序列.顶部序列.第一行.列标题.统计行: 5. 自动统计,排 ...
- php动态生成apk渠道包,Android自动生成渠道包
承接上文Android应用的自动化构建,我们已经通过ANT自动构建了应用,那接下来的问题是,如何自动构建渠道包,这里强烈推荐一篇文章美团Android自动化之旅-生成渠道包. 美团提到的第三种方式,截 ...
- android 自动生成aidl,[Android]用AIDL生成Service
对于用aidl生成Service,之前作过,这里记录一下,顺便也整理一下思路.java 一.建立aidl文件.android 这个aidl文件必须包括包名,和用interface的形式定义方法.ecl ...
- Android自动生成表格,丰富配置
前言 写完了android图表,一个朋友说他们公司需要做表格.问我能做吗?我答这有啥不能做.我就开始几个吧唧吧唧写,快写完了,朋友说表格在android体验不好.坑壁啊,最好放在github上.通过这 ...
- android自动生成cardview,学习使用Material Design控件(三)使用CardView实现卡片效果...
本文主要介绍CardView的使用,CardView是继承自FrameLayout,使用比较简单,只需要用CardView包含其他View就可以实现卡片效果了. 实现效果如下: 加入依赖库 depen ...
- Android 自动生成表格
Layout.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...
最新文章
- kubernetes Helm
- 【Kafka】Kafka-数据倾斜问题-参考资料-解决方案
- jQuery.extend()方法
- 潍坊学院计算机系崔玲玲,人工免疫算法在引水工程中的应用.pdf
- 服务器虚拟多台linux,VirtualBox环境下基于多台Ubuntu虚拟机的Hadoop分布式计算环境搭建...
- c++ unix time 运行时间_C++编程:c++里时间类型详解 time_t等
- junit return null该怎么测试_3 分钟生成一个单元测试报告,这个样式爱了
- 电脑ps4,人在外心在家,教你用PC/MAC远程打PS4
- 体脂率在线计算机,体脂率(BFR)计算器
- android 拨号隐藏号码,技巧:手机隐藏代码大集合 知道五个以上是大神
- 百度指数批量查询获取工具
- u盘数据恢复软件哪个好?怎么恢复u盘数据?
- 音频开发_Microphone Array Beamforming_Fractional Delays
- 浅谈webGl vr全景模式
- otf和ctf的意义_北京邮电大学出版社
- 计算机电源怎么设置玩游戏不卡,端游绝地求生怎么设置不卡
- mysql 客户端SSL错误2026 (HY000)
- echarts 设置平均线,警戒线markLine属性
- css3禅密花园叫什么名字_CSS秘密花园: 环形文本
- 英语口语八十之[如何聊电影话题]
热门文章
- 百度识图api连接与解析详细数据
- sqlserver2008导入mysql_SQL Server 2008怎么导入sql文件?-SQL Server 2008导入sql文件的三种方法 - 河东软件园...
- 2021-06-24
- pdfFactory Pro 不能被安装(AddPrinterDriver 失败)...找不到指定的模块
- 00.Spring源码编译
- 【C#】AutoCAD二次开发笔记
- hd计算机技术,BD和HD的区别是什么?
- 使用selenium调用qq游览器(基于Chrome浏览器)
- CloudMounter——将大容量网盘服务巧妙地挂载到系统文件管理器中
- android反编译打包出错,APK打包错误,能解决的给红包!