您的位置:首页 > 其它

XAdapter 一个支持 add 多个 header 和 footer,并且支持下拉刷新上拉加载的 recyclerViewAdapter

2017-04-09 13:13 513 查看

XAdapter

项目地址:7449/XAdapter

简介:XAdapter 一个支持 add 多个 header 和 footer,并且支持下拉刷新上拉加载的 recyclerViewAdapterSupport for the pull-down refresh loading and the addition of multiple header and footer RecyclerViewAdapterBlog:https://7449.github.io/Android_XAdapter/

Screenshots


https://raw.githubusercontent.com/7449/XAdapter/master/xadapter.gif中文文档

gradle

compile 'com.xadapter:xadapter:0.1.7'

Dividing line

Built a simple example 
XDividerItemDecoration

tips

It should be noted that, initXData () is not mandatory, only when the beginning of the RecyclerView need to have a data List must call initXData ()

Full example

recyclerView.setAdapter(
xRecyclerViewAdapter
.initXData(mainBeen)
.addRecyclerView(recyclerView)
.setLayoutId(R.layout.item)
.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader)
.setLoadingMoreProgressStyle(ProgressStyle.BallRotate)
.setImageView(R.drawable.iconfont_downgrey)
.setHeaderBackgroundColor(R.color.colorBlack)
.setFooterBackgroundColor(R.color.colorBlack)
.setHeaderTextColor(R.color.textColor)
.setFooterTextColor(R.color.textColor)
.setPullRefreshEnabled(true)
.setLoadingMoreEnabled(true)
.addHeaderView(LayoutInflater.from(this).inflate(R.layout.item_header_1, (ViewGroup) findViewById(android.R.id.content), false))
.addHeaderView(LayoutInflater.from(this).inflate(R.layout.item_header_2, (ViewGroup) findViewById(android.R.id.content), false))
.addHeaderView(LayoutInflater.from(this).inflate(R.layout.item_header_3, (ViewGroup) findViewById(android.R.id.content), false))
.addFooterView(LayoutInflater.from(this).inflate(R.layout.item_footer_1, (ViewGroup) findViewById(android.R.id.content), false))
.addFooterView(LayoutInflater.from(this).inflate(R.layout.item_footer_2, (ViewGroup) findViewById(android.R.id.content), false))
.addFooterView(LayoutInflater.from(this).inflate(R.layout.item_footer_3, (ViewGroup) findViewById(android.R.id.content), false))
.onXBind(this)
.setOnLongClickListener(this)
.setOnItemClickListener(this)
.setLoadingListener(this)
.setFooterListener(this)
.setRefreshing(true)
);
onXBind
Achieve data display
@Override
public void onXBind(XViewHolder holder, int position, MainBean mainBean) {
holder.setTextView(R.id.tv_name, mainBean.getName());
holder.setTextView(R.id.tv_age, mainBean.getAge() + "");
}

emptyView

Whether to display manually determined by the user's own network exceptions or data is empty when the call xRecyclerViewAdapter.isShowEmptyView (); specific examples of simple
recyclerView.setAdapter(
xRecyclerViewAdapter
.initXData(mainBean)
.setEmptyView(findViewById(R.id.emptyView))
.addRecyclerView(recyclerView)
.setLayoutId(R.layout.item)
);

pull to refresh and load more

The default is not open, if necessary, please manually open, and addRecyclerView
xRecyclerViewAdapter
.initXData(mainBean)
.setLayoutId(R.layout.item)
.addRecyclerView(recyclerView)
.setPullRefreshEnabled(true)
.setPullRefreshEnabled(true)
.setLoadingListener(new XBaseAdapter.LoadingListener() {
@Override
public void onRefresh() {

}

@Override
public void onLoadMore() {

}
})
When the drop-down refresh is completeIt is up to the user to choose whether the load fails or is successfulxRecyclerViewAdapter.refreshComplete(HeaderLayout.STATE_DONE);When the pull-up is completeIt is up to the user to choose whether the load fails or is successfulxRecyclerViewAdapter.loadMoreComplete(FooterLayout.STATE_NOMORE);

addHeader addFooter

xRecyclerViewAdapter
.addHeaderView(LayoutInflater.from(this).inflate(R.layout.item_header_1, (ViewGroup) findViewById(android.R.id.content), false))
.addFooterView(LayoutInflater.from(this).inflate(R.layout.item_footer_1, (ViewGroup) findViewById(android.R.id.content), false))

MultipleAdapter

Load the animation

XAdapter's refresh header and the bottom are derived from the XRecyclerView, so support for XRecyclerViewsupport animation, and the head and the bottom of the extension, you can set the background color, font color.
xRecyclerViewAdapter
.initXData(mainBeen)
.addRecyclerView(recyclerView)
.setLayoutId(R.layout.item)
.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader)
.setLoadingMoreProgressStyle(ProgressStyle.BallRotate)
.setImageView(R.drawable.iconfont_downgrey)
.setHeaderBackgroundColor(R.color.colorBlack)
.setFooterBackgroundColor(R.color.colorBlack)
.setHeaderTextColor(R.color.textColor)
.setFooterTextColor(R.color.textColor)

Thanks

https://github.com/jianghejie/XRecyclerView
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐