卡片式的瀑布流效果是一种非常美观的UI设计,自从Android 5.0的 RecyclerView出现以后,实现瀑布流变得十分简单,本文将一步步带领读者去实现一个卡片式的瀑布流布局。
一、先上效果图
image
二、代码实现卡片式瀑布流
1. 涉及到要使用的类和控件
类或控件
介绍
作用
RecyclerView
5.0出现的类似于ListView的控件
用它的布局管理器实现两列“ListView”效果
StaggeredGridLayoutManager
交错布局管理器
实现两列“ListView”效果
RecyclerView.Adapter
数据适配器
与ListView的Adapter类似,写法上不同。
CardView
同样是5.0新出的控件
实现圆角效果,省去了自己写Drawble,这个可要可不要。
Fresco
图片开源框架
为了简化从网上下载图片的过程就使用了它做快速演示,如想了解Fresco的详情,请看本人另一篇博客:Fresco图片框架简介及使用(可做圆角图片)
2. 在Gradle中添加RecyclerView、Fresco和CardView需要的依赖
compile 'com.android.support:recyclerview-v7:24.2.0'
compile 'com.facebook.fresco:fresco:0.14.1'
compile 'com.android.support:cardview-v7:25.0.0'
3. 在Activity的布局文件中使用RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F0F0F0"
tools:context="com.testwaterfall.MainActivity"
>
android:id="@+id/recyclerview"
android:layout_width="match_p