package cn.com.basic.face.widget.surveilance; import android.content.Context; import android.graphics.Rect; import android.os.Parcelable; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.AttributeSet; import android.view.View; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; import java.util.ArrayList; import java.util.List; import cn.com.basic.face.adapter.SurveillanceFragment; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.util.WindowsUtil; public class SurveillanceBottomVisitorListView extends EasyRecyclerView { private Parcelable recyclerViewState; private class SpaceItemDecoration extends RecyclerView.ItemDecoration { @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); outRect.right = WindowsUtil.dip2px(MainActivity.getInstance(), 15); if (parent.getChildLayoutPosition(view) == 0 || parent.getChildLayoutPosition(view) == 1) { outRect.left = WindowsUtil.dip2px(MainActivity.getInstance(), 14); } if (parent.getChildLayoutPosition(view) % 2 == 0) { outRect.bottom = WindowsUtil.dip2px(MainActivity.getInstance(), 7); } } } public void initLayout() { addItemDecoration(new SpaceItemDecoration()); GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2); gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); setLayoutManager(gridLayoutManager); } private SurveillanceFragment.SurveillanceBottomVisitorListViewAdapter mAdapter; private List list = new ArrayList(); public void setAdapter(Context context) { mAdapter = new SurveillanceFragment.SurveillanceBottomVisitorListViewAdapter(context); mAdapter.setList(list); setAdapter(mAdapter); initLayout(); } public SurveillanceBottomVisitorListView(Context context) { super(context); setAdapter(context); } public SurveillanceBottomVisitorListView(Context context, AttributeSet attrs) { super(context, attrs); setAdapter(context); } public SurveillanceBottomVisitorListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setAdapter(context); } public void show(List list) { recyclerViewState = this.getLayoutManager().onSaveInstanceState(); mAdapter.setList(list); this.setAdapter(mAdapter); this.getLayoutManager().onRestoreInstanceState(recyclerViewState); } public List getPrevList() { return this.list; } }