StickyHeaderRecyclerView RecyclerView 悬浮吸顶 Header开源项目

我要开发同款
匿名用户2019年09月20日
203阅读

技术信息

开源地址
https://github.com/smuyyh/StickyHeaderRecyclerView
授权协议
Apache-2.0

作品详情

RecyclerView悬浮吸顶Header,支持点击事件与状态绑定。

依赖compile'com.yuyag:stickyheaders:1.0.0'用法HeaderModel

HeaderModel需要实现 StickyHeaderModel 接口

publicclassHeaderItemimplemetsStickyHeaderModel{publicfialStrigtitle;/***状态保存示例,如果header存在一些交互性行为,在oBidViewHolder里面需要绑定悬浮header的状态*/publicitcolor=0xff777777;publicHeaderItem(Strigtitle){this.title=title;}}publicclassItem{publicfialStrigtitle;publicfialStrigmessage;publicItem(Strigtitle,Strigmessage){this.title=title;this.message=message;}}Adapter

RecyclerViewAdapter需要实现 StickyHeaderProvider 接口,并在 getAdapterData() 返回model数据,用于判断对应positio是否为Header

publicfialclassRecyclerAdapterextedsRecyclerView.Adapter<RecyclerAdapter.BaseViewHolder>implemetsStickyHeaderProvider{privatefialList<Object>dataList=ewArrayList<>();@OverridepublicBaseViewHolderoCreateViewHolder(ViewGroupparet,itviewType){if(viewType==0){returewItemViewHolder(LayoutIflater.from(paret.getCotext()).iflate(R.layout.item_view,paret,false));}else{returewHeaderViewHolder(LayoutIflater.from(paret.getCotext()).iflate(R.layout.header_view,paret,false));}}@OverridepublicvoidoBidViewHolder(fialBaseViewHolderholder,fialitpositio){}@OverridepublicitgetItemCout(){returdataList.size();}@OverridepublicitgetItemViewType(itpositio){returdataList.get(positio)istaceofItem?0:1;}@OverridepublicList<?>getAdapterData(){returdataList;}privatestaticfialclassItemViewHolderextedsBaseViewHolder{TextViewtitleTextView;TextViewmessageTextView;ItemViewHolder(ViewitemView){super(itemView);titleTextView=itemView.fidViewById(R.id.tv_title);messageTextView=itemView.fidViewById(R.id.tv_message);}}privatestaticfialclassHeaderViewHolderextedsBaseViewHolder{TextViewtitleTextView;TextViewbutto;HeaderViewHolder(ViewitemView){super(itemView);titleTextView=itemView.fidViewById(R.id.tv_title);butto=itemView.fidViewById(R.id.butto);}}staticclassBaseViewHolderextedsRecyclerView.ViewHolder{BaseViewHolder(ViewitemView){super(itemView);}}}RecyclerViewRecyclerViewrecyclerView=fidViewById(R.id.recycler_view);RecyclerAdapteradapter=ewRecyclerAdapter();adapter.setDataList(geDataList(0));//StickyLiearLayoutMaager替代LiearLayoutMaagerStickyLiearLayoutMaagerlayoutMaager=ewStickyLiearLayoutMaager(this,adapter);recyclerView.setLayoutMaager(layoutMaager);recyclerView.setAdapter(adapter);

功能介绍

RecyclerView 悬浮吸顶 Header,支持点击事件与状态绑定。 依赖
compile 'com.yuyang:stickyheaders:1.0.0'
用法 Header M...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论