android+cardview用法,Android CardView的使用
CardView是android5.0以上的新控件,卡片式布局,继承FrameLayout实现,今天这里主要说一下CardView的使用和注意的地方
1.首先肯定需要引用gradle配置
compile'com.android.support:cardview-v7:21.0.+'
介绍一下主要的属性:
app:cardBackgroundColor这是设置背景颜色
app:cardCornerRadius设置圆角大小
app:cardElevation设置z轴的阴影
app:cardMaxElevation设置z轴的最大高度值
app:contentPadding 设置内容的内边距
app:contentPaddingLeft 设置内容的左内边距
app:contentPaddingTop 设置内容的上内边距
app:contentPaddingRight 设置内容的右内边距
app:contentPaddingBottom 设置内容的底内边距
具体的效果根据需求进行测试吧。
我们今天主要记录一下跳过使用这个东西的一些火坑
这玩意是5.0+上发布的 所以根据平时的习惯做出来以后再5.0+上的手机上运行很完美,根本看不出来问题。
但是有一天我用cardView+listView写好以后再4.4的一个机子上运行后发现cardview的外边距(layout_margin)很大。第一反应 肯定是兼容出问题咯,果然发现在低版本中设置了 CardElevation 之后 CardView 会自动留出空间供阴影显示,而 Lollipop 之后则需要手动设置 Margin 边距来预留空间,导致我在设置 Margin 在 Android 5.0 机器上运行后发现 Kitkat 机器调试时发现边距非常大,严重地浪费了屏幕控件而且还很丑。
找到问题就好说,解决方案就很明确了:
1.在res下创建values(默认已经存在)和一个values-v21的文件夹并且在两个文件下创建dimens.xml文件
2.dimens.xml文件中自定义一个dimen
values-v21文件夹下
10dp
values文件夹下
0dp
因为在低版本下设置CardElevation后默认就有了边距,所以这里我们就不要在设置边距了,不然会叠加导致低版本外边距很大
3.只需要在CardView下设置
android:layout_margin="@dimen/cardView_m"
这样就可以根据自己的需求可以调整出自己想要的距离
--------------------华丽丽的分割线----------------------
好吧,再说一下CardView上的按下,点击的效果实现。你以为还是跟正常的background设置一下就好了?如果真这样,那就可以不用说了,很明显不是。
foreground:通过这个东西来设置点击的效果实现
android:foreground="?attr/selectableItemBackground"
但是很尴尬,这个只能支持5.0+上的版本,低版本看着很low,有点生硬,所以还是自己动手才是王道,下面我提供一下自己实现的点击效果:
1.创建drawable和drawable-v21文件夹,并且实现以下的一个select_card_foreground.xml文件
drawable-v21文件夹下
select_card_foreground.xml
android:color="#20000000"
android:drawable="@drawable/card_foreground_selector" />
card_foreground_selector.xml文件
drawable文件夹下
select_card_foreground.xml
android:drawable="@drawable/card_foreground_selector"
android:insetLeft="2dp"
android:insetRight="2dp"
android:insetTop="4dp"
android:insetBottom="4dp"/>```
card_foreground_selector.xml文件
```
最后在CardView设置:
android:foreground="@drawable/select_card_foreground"
最后就能完美使用了。
android+cardview用法,Android CardView的使用相关推荐
- android layoutinflater用法,Android LayoutInflater的用法详解
相信我们在开发过程中肯定接触过LayoutInflater,比如ListView的适配器里的getView方法里通过LayoutInflater.from(Context).inflater来加载xm ...
- android dispatchtouchevent 用法,android – 检测每个触摸事件,而不会覆盖dispatchTouchEvent()?...
回答这可能对他人有帮助.答案将有助于需要拦截触摸事件的库. 如果你不想覆盖dispatchTouchEvent()(Imp,如果你是编程库)方法的活动,那么我们可以使用Window.Callback类 ...
- android surface用法,Android SurfaceView的基本使用
一.为什么要SurfaceView 大多数情况下我们的自定义View都会选择去继承View或ViewGroup来实现,但是为什么系统还要为我们提供一个SurfaceView呢? 首先我们知道View类 ...
- android weakreference 用法,Android WeakReference的理解与使用
前言: 看到篇帖子, 国外一个技术面试官在面试senior java developer的时候, 问到一个weak reference相关的问题. 他没有期望有人能够完整解释清楚weak refere ...
- android plurals用法(单复数)
0.相关文章 android plurals用法 Android中的string资源占位符及Plurals string 1.使用 对一个给定的语言和数字来说,决定使用哪一个case的规则是很复杂的, ...
- android卡片风格,[Android] Android 卡片式控件CardView的优雅使用
[Android] Android 卡片式控件CardView的优雅使用 CardView是在安卓5.0提出的卡片式控件 其具体用法如下: 1.在app/build.gradle 文件中添加 comp ...
- Android之 RecyclerView,CardView 详解和相对应的上拉刷新下拉加载
为什么80%的码农都做不了架构师?>>> 随着 Google 推出了全新的设计语言 Material Design,还迎来了新的 Android 支持库 v7,其中就包含了 M ...
- Android应用开发:CardView的使用及兼容
原文:http://blog.csdn.net/airk000/article/details/39520977 点击阅读原文 ------------------------------------ ...
- android cardview控件,CardView控件的使用方式
欢迎Follow我的GitHub, 关注我的简书. 其余参考Android目录. CardView Android CardView是一种卡片视图, 主要是以卡片形式显示内容, 让我们先看看效果吧. ...
- Android——安卓卡片样式——CardView使用、CardView失效等
本人所有博客均是记录自己的学习和爬坑的过程,顺便分享一些好用的东西给同学,没有任何商用行为,若有侵权,请及时联系本人1521976977@qq.com.如果对你有帮助的话不妨点赞呗~谢谢 卡片Card ...
最新文章
- 关于VS项目平台的x86,x64,Any CPU以及Debug和Release
- 马斯克在线“求逮捕”:美国县政府不让特斯拉复工,钢铁侠彻底怒了
- FGPA 双向 IO 自动方向控制
- Synchronize对象改变
- Zuul简介及代码示例
- 如何使用 SAP Kyma 控制台手动发送 SAP Commerce Cloud Mock 应用暴露的事件
- WebAssembly生态将完善网络安全性
- spring roo_使用Spring Roo进行快速云开发–第1部分:Google App Engine(GAE)
- Oracle 大规模 delete,update 操作 注意事项
- python word模板 图_科学网—Python绘制可插入Word的高清矢量图(SVG转EMF) - 任晓东的博文...
- 《AutoCAD 2014中文版超级学习手册》——1.4 配置绘图系统
- 带接口的webservice方式发布
- php高并发解决方案
- 新版itunes添加铃声
- openwrt作旁路由配置教程
- Web前端 vs Web后端 区别是什么
- 成都拓嘉启远:拼多多开店怎样节约物流成本
- redis使用及Spring Session+Redis实现Session共享
- ios appstore 审核 Guideline 5.2.2 资讯类APP解决方案
- 电脑显示请检查映像服务器,该任务映像已损坏或已篡改的解决方法
热门文章
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一1.2 创业者应具备的条件与经验...
- 【SOLIDWORKS学习笔记】工程图基础操作
- Sql Server2014 安装Northwind数据库
- [iOS] HealthKit 睡眠分析
- 2021中兴捧月神算师算法赛,4-24第一场,第一题:A - 跳高,2021-4-27
- JS实现自定义右键菜单
- Layabox2初学(一)javascript
- ae中合成设置的快捷键_提升AE效率的20个快捷键
- a4纸和ipad对比_我告诉你10.2寸ipad和9.7寸对比
- 分子量-算法竞赛习题3-2:给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分别为C, H, O, N,原子量分别为12.01, 1.008, 16.00, 14.01。