您好,欢迎来到源码搜藏!分享精神,快乐你我!提示:担心找不到本站?在百度搜索“源码搜藏”,网址永远不丢失!
  • 首 页
  • 在线工具
  • 一个Android的二维RecyclerView。不仅可以加载历史数据,而且可

    时间:2017-01-22 08:47 来源:互联网 作者:源码搜藏 浏览:收藏 挑错 推荐 打印

    一个二维RecyclerView。不仅可以加载历史数据,而且可以加载未来数据。

    demo_gif demo_gif_adjust_height

    包括在您的项目中

    
    	
    compile 'cn.zhouchaoyuan:excelpanel:1.0.1'

    用法

    1,写入xml

    
    	
    <cn.zhouchaoyuan.excelpanel.ExcelPanel
            android:id="@+id/content_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:left_cell_width="@dimen/room_status_cell_length"
            app:normal_cell_width="@dimen/room_status_cell_length"
            app:top_cell_height="@dimen/room_status_cell_length" />

    使用xml属性进行配置

    app:left_cell_width // left标头单元格的宽度
    app:normal_cell_width //容器单元格的宽度,height不是必须的,因为行的高度将等于该行中最大单元格的高度
    app:top_cell_height //顶部标题单元格的高度
    

    2,定义您的自定义适配器

    您的适配器必须扩展BaseExcelPanelAdapter并覆盖七种方法如下所示:

    
    	
    public class Adapter extends BaseExcelPanelAdapter<RowTitle, ColTitle, Cell>{
    
        public Adapter(Context context) {
            super(context);
        }
    
        //=========================================normal cell=========================================
        @Override
        public RecyclerView.ViewHolder onCreateCellViewHolder(ViewGroup parent, int viewType) {
            return null;
        }
    
        @Override
        public void onBindCellViewHolder(RecyclerView.ViewHolder holder, int verticalPosition, int horizontalPosition) {
    
        }
    
        //=========================================top cell===========================================
        @Override
        public RecyclerView.ViewHolder onCreateTopViewHolder(ViewGroup parent, int viewType) {
            return null;
        }
    
        @Override
        public void onBindTopViewHolder(RecyclerView.ViewHolder holder, int position) {
    
        }
    
        //=========================================left cell===========================================
        @Override
        public RecyclerView.ViewHolder onCreateLeftViewHolder(ViewGroup parent, int viewType) {
            return null;
        }
    
        @Override
        public void onBindLeftViewHolder(RecyclerView.ViewHolder holder, int position) {
    
        }
    
        //=========================================top left cell=======================================
        @Override
        public View onCreateTopLeftView() {
            return null;
        }
    }

    3,使用适配器

    
    	
    //==============================
    private List<RowTitle> rowTitles;
    private List<ColTitle> colTitles;
    private List<List<Cell>> cells;
    private ExcelPanel excelPanel;
    private CustomAdapter adapter;
    private View.OnClickListener blockListener
    //..........................................
    excelPanel = (ExcelPanel) findViewById(R.id.content_container);
    adapter = new CustomAdapter(this, blockListener);
    excelPanel.setAdapter(adapter);
    excelPanel.setOnLoadMoreListener(this);//your Activity or Fragment implement ExcelPanel.OnLoadMoreListener
    adapter.setAllData(colTitles, rowTitles, cells);
    adapter.enableFooter();//load more, you can also call disableFooter()----default
    adapter.enableHeader();//load history, you can also call disableHeader()----default

    如果使用setOnLoadMoreListener(...)和enableHeader(),你必须调用addHistorySize(int)告诉ExcelPanel已经添加了多少数据。

    一个Android的二维RecyclerView。不仅可以加载历史数据,而且可转载请注明出处http://www.codesocang.com/kj/listview/34337.html 源码搜藏网所有源码来自用户上传分享,版权问题及牵扯到商业纠纷均与源码搜藏网无关
    标签: