【github独立站源码】【hover 源码】【ginx源码】android cardview源码

1.CardView的使用
2.Android零基础入门第71节:CardView简单实现卡片式布局

android cardview源码

CardView的使用

        Material Design中有一种很个性的设计概念:卡片式设计(Cards),Cards拥有自己独特的UI特征,关于Cards的设计规范可以参考官网介绍:

        cards-usage

        Google在v7包中引进了一种全新的控件CardView,用来实现这种 Cards UI 的设计.

        使用前添加依赖:

        CardView本质上属于FrameLayout,不同的是,它多了很多"特效"(圆角、阴影等).

        可以看见,被CardView包裹的ImageView有明显的圆角和阴影,这就是CardView最重要的两条属性了.

        Android5.0 引入了Z轴的概念,可以让组件呈现3D效果.

        看下面这幅图:

        Z属性可以通过elevation和translationZ进行修改

Z= elevation+translationZ

        在5.0之前,我们如果想给View添加阴影效果,以体现其层次感,通常的做法是给View设置一个带阴影的背景图片.

        在5.0之后,我们只需要简单的修改View的Z属性,就能让其具备阴影的层次感,不过要求版本至少5.0 Lollipop,也就是API.

        在Android Design Support Library和support -v7中一些组件已经封装好了Z属性,不需要5.0 就可以使用.

        像 FloatingActionButton 就可以通过app:elevation=" "使用Z属性,CardView可以通过app:cardElevation=" " 来使用.

        关于Z轴的更多介绍,可以观看 官方:定义阴影与裁剪视图 .

        1、设置背景颜色

        2、设置padding

        Tips:上面是CardView设置背景颜色和padding的方式,如果你直接通过android:padding=" " 和android:background=" "设置,是无效的.

        3、设置Z轴的最大高度

        4、点击之后的涟漪效果

        如果你的CardView是可点击的,可以通过foreground属性使用系统定义好的RippleDrawable: selectableItemBackground,从而达到在5.0及以上版本系统中实现点击时的涟漪效果(Ripple),如图:

        看下面两幅图:

        在5.0之前的版本中设置了 app:cardElevation=" "后 CardView 会自动留出空间供阴影显示,而5.0之后的版本中没有预留空间.

官网也介绍了这种情况:

        所以给CardView设置 Margin时需要兼容一下,否则在低版本上每个卡片之间的距离会特别大,浪费屏幕空间.

解决方法1:

        在res/values/dimens中设置一个0dp的margin,这是为5.0之前版本使用的

        在res/values-v/dimens中设置一个适合的margin,为阴影预留空间,这是为5.0之后版本使用的

        最后,给CardView设置外边距android:layout_margin="@dimen/cardview_margin",这样就解决了低版本中边距过大浪费屏幕空间的问题了.

解决方法2:直接给CardView设置该属性:

        看下面两幅图:

        在>=5.0(Lollipop API )的版本,CardView会直接裁剪内容元素满足圆角的需求.

        在<5.0(Lollipop API )的版本,CardView为了使内容元素不会覆盖CardView的圆角,会添加一个padding,这样一来,如果CardView设置了背景颜色,就很难看了.

解决方法:给CardView设置该属性:

        总的来说,如果在高版本中使用CardView还是很舒服的,很容易实现各种效果,低版本上兼容性还不是很好.

Android零基础入门第节:CardView简单实现卡片式布局

       CardView控件简介与示例

       CardView是Android 5.0系统引入的控件,主要应用于添加圆角及阴影效果的卡片式布局。它继承自Framelayout,因此可以继承FrameLayout的所有属性,并拥有专属属性,github独立站源码如app:cardElevation设置阴影大小等。hover 源码

       CardView示例1

       在WidgetSample工程的advancedviewsample模块中,添加CardView依赖库并创建cardview_layout.xml布局文件,填充代码以展示CardView效果。在CardViewActivity.java中加载布局文件并运行程序,可以看到CardView的布局效果。

       CardView示例2

       CardView常用于ListView和RecyclerView的Item布局,显示层次性内容,ginx源码有助于区分列表内容。创建CardView的item项,修改属性,结合ListView和RecyclerView实现动态修改属性的winsize源码效果。运行程序,展示CardView的动态变化。

       CardView使用总结

       CardView学习至此,使用简单,uicloudapp源码适用于显示层次性内容和列表/网格显示。更多高级用法需自行探索。欢迎提问和加入Android技术讨论群。

       往期内容推荐

       Android零基础入门系列教程

       涵盖UI控件、UI布局、事件处理、列表和网格布局、事件处理、数据展示组件等内容,提供从零开始学习Android开发的全面指南。

       更多教程内容请关注微信公众号:ShareExpert - 鑫鱻,获取完整教程和学习资源。

更多内容请点击【时尚】专栏