首页

源码搜藏网

首页 > 安卓源码 > 控件分类 > 列表ListView >

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

创建时间:2017-01-22 08:47  

一个Android的二维RecyclerView。不仅可以加载历史数据,而且可
一个Android的二维RecyclerView。不仅可以加载历史数据,而且可
暂无演示 立即下载

一个二维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滚轮控件
下一篇:Android具有闪烁视图的自定义回收器视图,用于指示视图正在加载

相关内容

热门推荐