StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
stills_pp_rv.setLayoutManager(staggeredGridLayoutManager);
Adapter
package com.bw.movie.adapter;
import android.content.Context;
import android.net.Uri;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.bw.movie.R;
import com.bw.movie.bean.DetailsJson;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class StillsAdapter extends RecyclerView.Adapter<StillsAdapter.ViewHolder> {
private DetailsJson xiangBean;
private Context mContext;
private static List<Integer> heights;
public StillsAdapter(DetailsJson xiangBean, Context mContext) {
this.xiangBean = xiangBean;
this.mContext = mContext;
getRandomHeight(this.xiangBean);
}
private void getRandomHeight(DetailsJson lists) {//得到随机item的高度
heights = new ArrayList<>();
for (int i = 0; i < lists.getResult().getPosterList().size(); i++) {
heights.add((int) (300 + Math.random() * 400));
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.iteam_still, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
//ViewGroup.LayoutParams params = holder.itemView.getLayoutParams();//得到item的LayoutParams布局参数
ViewGroup.LayoutParams layoutParams = holder.itemView.getLayoutParams();
layoutParams.height = heights.get(position);//把随机的高度赋予itemView布局
holder.itemView.setLayoutParams(layoutParams);//把params设置给itemView布局
Uri parse = Uri.parse(xiangBean.getResult().getPosterList().get(position));
holder.itemFragRecommendImage.setImageURI(parse);
}
@Override
public int getItemCount() {
int ret = 0;
if (xiangBean != null) {
ret = xiangBean.getResult().getPosterList().size();
}
return ret;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.stil_img)
SimpleDraweeView itemFragRecommendImage;
public ViewHolder(View itemView) {
super(itemView);
ButterKnife.bind(this,itemView);
}
}
}