
2014年google发布了android5.0的版本,系统使用一种新的Material Design设计风格,也给我们带来了很多新的特性,RecyclerView与CardView就是起新的两个组件。
以前我们写列表布局时都是用ListView、GridView等控件,比较繁琐的就是写Adapter了,而且还要对其优化加入viewholder类。现在RecyclerView就可以替代ListView、GridView,而且自带Holder,加上默认的三种布局方式,可以说给开发者带来很大的好处。
如何使用
RecyclerView使用上与一般的AdapterView并没有什么区别,
我们先在build.gradle中添加RecyclerView与CardView的依赖
layout中
|
|
adapter
activity或fragment中
- RecylerView使用必须指明LayoutManager,LayoutManager主要有三类
- LinearLayoutManager 线性布局,有水平、垂直
- GridLayoutManager 网格布局
- StaggeredGridLayoutManager 瀑布流布局
- 通过ItemDecoration可以绘制item之间的间隔
- ItemAnimator设置item的增删动画
- click或longClick事件不支持,需要自己写
- item 布局中使用了卡片布局CardView
- app:cardBackgroundColor这是设置背景颜色
- app:cardCornerRadius这是设置圆角大小
- app:cardElevation这是设置z轴的阴影
- app:cardMaxElevation这是设置z轴的最大高度值
- app:cardUseCompatPadding是否使用CompatPadding
- app:cardPreventCornerOverlap是否使用PreventCornerOverlap
- app:contentPadding 设置内容的padding
- app:contentPaddingLeft 设置内容的左padding
- app:contentPaddingTop 设置内容的上padding
- app:contentPaddingRight 设置内容的右padding
- app:contentPaddingBottom 设置内容的底padding
效果图



github上相关资源
- RecyclerViewItemAnimators
- DividerItemDecoration
- RecyclerItemDecoration
总结
recyclerview作为listview、gridview的替代有着许多的优点,基本上可以完全代替,网上也有许多相关recyclerview的教程、自定义的控件、特效等,cardview卡片布局比较简单,但是实用性和效果是非常好的,用来当做背景再合适不过了。