package yifeiyuan.practice.practicedemos.materialsupport;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import java.util.ArrayList;
import java.util.List;
import butterknife.ButterKnife;
import butterknife.InjectView;
import yifeiyuan.practice.practicedemos.R;
import yifeiyuan.practice.practicedemos.base.BaseFragment;
/**
* A simple {@link Fragment} subclass.
*/
public class StaggeredGridFragment extends BaseFragment {
@InjectView(R.id.rv_grid)
RecyclerView mRvGrid;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mRootView = inflater.inflate(R.layout.fragment_grid, container, false);
ButterKnife.inject(this, mRootView);
return mRootView;
}
private GridAdapter mAdapter;
private List<String> mData;
@Override
protected void init(Bundle savedInstanceState) {
mData = new ArrayList<>();
mAdapter = new GridAdapter(getActivity(), mData);
final StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL);
mRvGrid.setLayoutManager(staggeredGridLayoutManager);
mRvGrid.setAdapter(mAdapter);
}
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.reset(this);
}
public static class GridAdapter extends RecyclerView.Adapter<GridAdapter.ViewHolder> {
private Context mContext;
private List<String> mDatas;
public GridAdapter(Context context, List<String> data) {
mContext = context;
mDatas = data;
}
@Override
public GridAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.material_grid_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(GridAdapter.ViewHolder holder, int position) {
if (position%2==0){
holder.mIvItem.setImageResource(R.mipmap.ic_launcher);
}else{
holder.mIvItem.setImageResource(R.mipmap.pic);
}
}
@Override
public int getItemCount() {
// return mDatas.size();
return 28;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
@InjectView(R.id.iv_item)
public ImageView mIvItem;
public ViewHolder(View view) {
super(view);
ButterKnife.inject(this, view);
}
}
}
}