Android固定头部sticky-headers RecycleView 仿通讯录

转载 2016年05月31日 11:24:57

文章转自:http://blog.csdn.net/jdsjlzx/article/details/50814812

一个使用LinearLayoutManager为RecyclerViews加上section headers效果的列表控件,支持横向和纵向。

运行效果

运行效果

使用说明:

主要有三个类:StickyRecyclerHeadersAdapter, StickyRecyclerHeadersDecoration, 和StickyRecyclerHeadersTouchListener.

StickyRecyclerHeadersAdapter的使用非常接近于 RecyclerView.Adapter,建议让你的 RecyclerView.Adapter实现 StickyRecyclerHeadersAdapter,StickyRecyclerHeadersAdapter接口如下:

public
 interface StickyRecyclerHeadersAdapter<VH extends RecyclerView.ViewHolder> {

  public
 long getHeaderId(int position);

  public
 VH onCreateHeaderViewHolder(ViewGroup parent);

  public
 void onBindHeaderViewHolder(VH holder, int position);

  public
 int getItemCount();

}

StickyRecyclerHeadersDecoration是整个效果的关键,但你并不需要额外的配置,下面是在activity中使用它的例子:

mRecyclerView
 = (RecyclerView) findViewById(R.id.recyclerview);

mAdapter
 = new

MyStickyRecyclerHeadersAdapter();

mRecyclerView.setAdapter(mAdapter);

mRecyclerView.setLayoutManager(new

LinearLayoutManager(context));

mRecyclerView.addItemDecoration(new

StickyRecyclerHeadersDecoration(mAdapter));

StickyRecyclerHeadersTouchListener是section头部被点击的事件的监听者,使用如下:

StickyRecyclerHeadersTouchListener
 touchListener =
    new
StickyRecyclerHeadersTouchListener(recyclerView, headersDecor);

touchListener.setOnHeaderClickListener(

    new

StickyRecyclerHeadersTouchListener.OnHeaderClickListener() {

      @Override

      public
 void onHeaderClick(View header, int position, long headerId) {

        Toast.makeText(MainActivity.this,
"Header
 position: " 
+ position + ",
 id: " 
+ headerId,

            Toast.LENGTH_SHORT).show();

      }

    });

mRecyclerView.addOnItemTouchListener(touchListener);

项目地址:https://github.com/timehop/sticky-headers-recyclerview

Android RecycleView设置头部或者底部视图,给固定高度失效问题

先上代码: private void setAdapter() { setData(); mRecyclerView.setLayoutManager(new Li...

RecyclerView粘性头部控件 - sticky-headers-recyclerview

sticky-headers-recyclerview源代码链接 https://github.com/timehop/sticky-headers-recyclerview 此库没有再维护,所以...

Android实现固定头部信息,挤压动画(类似通讯录)

半年前,那时候我还是个大四的学生,每天都在找工作度过,想去北京体验一下蚁族生活,奋然离开了济南,哎...在济南我们学校还是数得着的好学校,去了北京就什么都不是了,一切的辛酸只有自己知道,那时候的我只找...

【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组...
  • zxt0601
  • zxt0601
  • 2016年08月29日 20:45
  • 16238

仿ListView源码添加ReCycleView头部和底部ItemView的功能

Recycleview的推出用于替代ListView的,它为我们展示数据提供了非常便捷的方式,RecyclerView与ListView原理是类似的:都是维护少量的View并且可以展示大量的数据集。R...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android固定头部sticky-headers RecycleView 仿通讯录
举报原因:
原因补充:

(最多只允许输入30个字)