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

compile 'cn.zhouchaoyuan:excelpanel:1.0.1'
<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 //顶部标题单元格的高度
您的适配器必须扩展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;
}
}
//==============================
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基于FlatList的上拉、下拉刷新组件
Android打造万能的ListView和GridView适配器
Android高仿今日头条ListView视频播放和优酷视频播放悬浮窗
Android中RecyclerView的自定义布局管理器模仿TextView跨行为,
支持多个方向滑动的 View,类似 Calendar 里的 UI 效果
一个下拉刷新上拉加载更多的Android框架
用于在RecyclerView和AbsListView上创建简单分页功能的库
TwinklingRefreshLayout 小而强大的刷新控件,自带顺滑的越界回
Android具有闪烁视图的自定义回收器视图,用于指示视图正在加载
一个Android的二维RecyclerView。不仅可以加载历史数据,而且可
Android滚轮控件
使用ExpandableListView实现的购物车
Android基于FlatList的上拉、下拉刷新组件
Android打造万能的ListView和GridView适配器
Android高仿今日头条ListView视频播放和优酷视频播放悬浮窗
Android中RecyclerView的自定义布局管理器模仿TextView跨行为,
一个下拉刷新上拉加载更多的Android框架
用于在RecyclerView和AbsListView上创建简单分页功能的库
热门源码