package cn.com.basic.face.widget; import android.content.Context; import android.graphics.Rect; 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.CheckInLeftListViewAdapter; import cn.com.basic.face.adapter.SupervisoryBottomListViewAdapter; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.util.Constant; import cn.com.basic.face.util.WindowsUtil; /** * Created by xiuxi on 2017/3/31. */ public class SupervisoryBottomListView extends EasyRecyclerView { 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 SupervisoryBottomListViewAdapter mAdapter; private List list = new ArrayList(); public void setAdapter(Context context) { mAdapter = new SupervisoryBottomListViewAdapter(context); mAdapter.setList(list); setAdapter(mAdapter); initLayout(); } public SupervisoryBottomListView(Context context) { super(context); setAdapter(context); } public SupervisoryBottomListView(Context context, AttributeSet attrs) { super(context, attrs); setAdapter(context); } public SupervisoryBottomListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setAdapter(context); } public void show(List list, boolean isVisitorList) { //mAdapter.setRowType(isVisitorList? Constant.CheckIn.VISITOR_ROW:Constant.CheckIn.INTERVIEWEE_ROW); refresh(list); } public void refresh(List list) { this.list.clear(); this.list.addAll(list); mAdapter.setList(this.list); this.setAdapter(mAdapter); } }