基本实践应用:
引用recycleView控件
(1)配置:在Gradle.Scripts中添加‘com.android.support:recyclerview-v7:23.4.0’;
(2)导入入android.support.v7.widget.RecyclerView的包;
(3)同步网络;
(4)在布局中引入recycleview;
实现各种不同的效果:
实现listview效果:
使用的方法:
/**
*这是ListView的效果
*/
recyclerView.setLayoutManager(new LinearLayoutManager(this));
实现GridView的效果:
/**
*这是GridView的效果 2指的是列数为2;
*/
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
实现瀑布流:
(1)获取item的随机的高度(注意随机数的产生的方法):
/**
* 得到随机的Item的高度
*/
private void getRandomHeight(List<String> list) {
height = new ArrayList<>();
for (int i = 0; i < list.size(); ++i) {
height.add((int) (200 + Math.random() * 400));
}
}
(2)重写OnBindViewHolder()方法,获取item的LayoutParams的布局参数,把随机高度赋予item;
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
/**
* 得到item的LayoutParams布局参数
*/
ViewGroup.LayoutParams params = holder.itemView.getLayoutParams();
params.height = height.get(position);//把随机的高度赋予item布局//
holder.itemView.setLayoutParams(params);//把params设置item布局
(3)使用StaggeredGridLayoutManager():
/**
*2,表示两列;VERTICAL表示垂直方向
*/
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
这样就简单的实现了瀑布流;