【Android 技术难点攻克】RecyclerView实现悬停导航栏

RecyclerView实现顶部悬浮、字母排序、过滤搜索最优雅的方式 效果: 这篇文章算是之前一篇的升级版,在上一篇的基础上新增了顶部悬停功能、波浪侧边栏和关于多音字的一个处理。 上一篇链接 : 《Android 使用RecyclerView实现(仿微信)的联系人A-Z字母排序和过滤搜索功能》 http://blog.youkuaiyun.com/silenceoo/article/details/75661590主界面布局代码:<?xml version="1.0" 阅读详情

介绍

在上一篇文章《彻底解决RecyclerView与ScrollView滑动冲突问题,并实现RecyclerView悬停导航栏》中,我讲述了如何解决ScrollView与RecyclerView的滑动冲突问题。时隔几个月,我对这样的程序结构有很多的反思。当初这样嵌套,其实最主要是为了实现悬停。那么悬停的最好的实现方式就是这样去解决滑动冲突吗?

答案或许是否。当然,几个月前,我设计出ScrollView嵌套RecyclerView的框架时,我还不承认。不过,在程序上线几个月后,用户不断反馈,滑动过程中在需要手势传递的两个点上会出现手势不连贯的现象。经过反复调研,我终于下定决心,采取了另外一种实现方法——多类型RecyclerView。这种实现方式,不会出现手势不连贯的问题。

实现思路

上面的红色部分是RecyclerView的一种item,中间的黄色导航栏是RecyclerView的一种item,下面的蓝色列表是RecyclerView的一种item。在滑动到导航栏位置时,将与导航栏布局一样的一个view显示出来。

实现思路其实非常简单,具体实现可参考demo(点击下载)。

另外,我的另一篇文章《多Item类型的RecyclerView替代scrollView》介绍了如何优雅地实现多Item类型RecyclerView。

如有任何问题,可邮件联系我zhshan@ctrip.com

自定义RecyclerView悬浮吸顶效果的LayoutManager 时间过得飞快,距离上次写博客又过了一个半月,想了想不该偷懒下去了,然后就把前段时间写的一个 LayoutManager 拿出来写一下。RecycleView 相信大家一定十分熟悉了,相比 ListView 它具备更多级的缓存以及定向刷新的特性,除此之外也就是本文要说的自定义 LayoutManager 也是十分的靓仔,和传统使用 ViewGroup 布局相比,它增加了回收和复用子 Item 的能力... 阅读详情

相关推荐

SAP FB03凭证修改实战:巧用BAPI FI_DOCUMENT_CHANGE更新抬头与行项目

本文详细介绍了SAP FB03凭证修改的实战技巧,重点解析了BAPI FI_DOCUMENT_CHANGE的使用方法。通过该接口,用户可以在不冲销原凭证的情况下直接更新抬头文本(BKTXT)和行项目文本(SGTXT),确保凭证编号连续且符合审计要求。文章包含核心机制解析、完整实现步骤、错误处理方案以及高级应用场景,帮助开发者高效完成SAP财务凭证修改。

weixin_29251567的博客 425

RecyclerView Item 的悬浮效果(吸附效果)的实现

参考文章:Android 轻松实现 RecyclerView 悬浮条 本例源码:https://github.com/374901588/RVSuspensionBarTest 在参考文章中,实现的是如下效果: 实现的基本原理就是在一个 FrameLayout 中,设置一个 RV,然后在设置一个和 ItemView 一样布局结构以及样式的悬浮条,然后悬浮条根据条件动态设置位置。 而...

一个有思想的搬运工 1万+

手把手教你用DCT/DCG实现Multi-bit FF物理优化(含SPG流程避坑指南)

本文详细解析了Multi-bit FF(MBFF)在芯片物理实现中的优化方法,重点介绍了DCT/DCG与SPG流程的实战应用。通过物理感知综合、寄存器组识别和增量优化三阶段流程,实现PPA(Power-Performance-Area)的协同提升。文章还提供了Innovus与ICC工具的协同优化策略及典型问题排查指南,帮助工程师高效完成MBFF物理优化。

ik67890123的博客 242

Android CoordinatorLayout进阶教程-RecyclerView悬停效果

这里,当 RecyclerView上拉时会先滑动AppBarLayout从而悬停滑动固定区域,然后再继续RecyclerView视图自己的滑动事件,下拉时会先实现RecyclerView自己的滑动事件,当RecyclerView第一个item全部显示后滑动事件会传递给AppBarLayout,从而展示滑动隐藏区域。话不多说,我们先来看一下我们实现的效果。我们来看一下视图布局代码以及类代码。Activity代码。

aaaym的博客 1098

IntelliJ IDEA 中git使用说明书

IntelliJ IDEA 中git使用说明书

junyang2012的博客 5389

【C语言】一文带你拿捏分支和循环语句(一万字详细讲解)

if/switch语句、while/fo/do...while循环语句、goto语句详解

StackFrame 1233

android+recyclerview悬停动画,【Android】RecyclerView:打造悬浮效果

悬浮效果先看个效果效果这是一个City列表,每个City都有所属的Province,需要在滑动的时候,将对应的Province悬浮在顶部。悬浮顶部的Province需要根据列表的滑动而适当改变位置,实现“顶上去”的效果。实现思路:利用RecyclerView.ItemDecoration绘制Province(就像绘制分割线一样)同一组的City,只绘制一个Province计算偏移,将当前Provi...

weixin_35565325的博客 600

【数据分享】12.5米分辨率DEM地形数据(分省)

该数据来源于NASA地球科学数据网站(https://nasadaacs.eos.nasa.gov/),是ALOS卫星获取的高精度地形数据。该数据由于精度高,包括全省范围的数据和省内每个城市范围的数据!

JData_Engineer的博客 2171

ScrollView+RecyclerView实现悬停导航栏

一. 导航栏可以正常的滑动到顶部 ScrollView LinearLayout LinearLayout - banner : h1 LinearLayout - 导航栏 : h2 RecyclerView - content : h3 = 屏幕高度-(h1+h2) 1. RecyclerView的layout_height设置为match_parent或wrap_content,加载的ite...

lyl0530的博客 1131

【AI】在RK3576上,使用RKNN实现MeloTTS(文本转语音)

在瑞芯微的RK3576上实现TTS(文本转语音)功能,使用CPU实现时,几乎把CPU资源全部耗尽,没有实用价值。通过将MeloTTS转为onnx,再转为RKNN,来使用RK3576的NPU硬件加速,成功实现TTS。

郭老二 564

输入文件(Example-1.inp)参数解读与获取方法

弹性参数:优先使用默认值(泊松比 0.25、杨氏模量 8×10⁵ bars),或参考区域地质 / 地球物理研究。断层参数:从地震矩反演、GPS 位移反演、地质图 / 震源机制获取(核心参数,需确保准确性)。网格 / 图形参数:根据研究区范围和输出需求调整(步长 / 放大系数等)。

2301_79258000的博客 81

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

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表一 概述本文是Android导航分组列表系列上,因时间和篇幅原因分上下,最终上下合璧,完整版效果如下: 上部残卷效果如下:两个ItemDecoration,一个实现悬停头部分组列表功能,一个实现分

zxt0601的博客 3万+

Qt/C++音视频开发1-vlc解码播放

一、前言 最开始接触视频监控这块的时候,用的就是vlc作为解码的内核,主要是因为vlc使用简单方便,直接传入一个句柄即可,简单几行代码就可以实现一个视频流播放,很适合初学者使用,也推荐初学者用qt+vlc来做播放器,提供的接口还是非常友好的,而且门类特别多,想要获取媒体文件的各种信息比如宽高,设置宽高比等,直接调用接口函数传入参数就能设置。 所有用vlc做视频监控解码的人都会遇到一个问题,那就是鼠标事件被接管拦截了,不能识别鼠标事件,比如双击最大化等,这就很憋屈了,明明很好用的一个东西,怎么突然之间鼠标事件

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 4939

RecyclerView轻松实现悬浮头部分组列表

转载请注明出处:http://blog.youkuaiyun.com/binbinqq86/article/details/54427505关于RecyclerView的使用,相信大家都不陌生,并且功能的强大早已让众多开发者臣服,本篇主要讲解联系人列表效果的悬浮头部分组列表的实现,先上效果图:一般的思路应该是利用RecyclerView的itemType来区分标题和下面的子数据而采用不同的布局,再加上Recyc

Water的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

商城个性设置,Scrollview嵌套 多层recyclerview 切换、收起展开

最近项目遇到一个个性设置的需求,感觉还是蛮另类的,索性就记录下来,说不定以后就遇见了。 首先来一张需求图吧 可见 第一反应肯定是 Scrollview嵌套 Recyclerview 来写。事实上,我一开始 也确实如此。 然后开始分析 后台给予的数据结构。发现,年龄,品类为同

yy292916的博客 1110

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

使用ItemDecoration为RecyclerView打造带悬停头部的分组列表

package jiuyuhulian.com.merchantstoreApp.view; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.R...

qq_28898075的博客 1436

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

RecyclerView之使用ItemTouchHelper实现拖拽和滑动删除

一、简述运用v7包中的ItemTouchHelper与RecyclerView结合后实现拖拽和滑动删除交互效果。示例如下:二、创建项目(ItemTouchHelperDemo)添加支持库:compile 'com.android.support:appcompat-v7:26.0.0-alpha1' compile 'com.android.support:cardview-v7:26.0...

常钛 941

Android RecyclerView点击展开、折叠效果的实现方式

实现效果 思路 我使用的是第三方适配器BaseRecyclerViewAdapterHelper 但是遇到一个问题 这个适配器2.0和3.0不兼容 而2.0版本 没有折叠效果这个组件 我用3.0版本 gradle一直依赖不了 怎么办? 只能寻找其他方法来实现 我想到的是在用两层 RecyclerView的办法 在第一次的item布局里嵌套第二次RecyclerView 觉得可行 就开始写代码 最终结果还可以优化 就是上面的样子 实现了点击折叠和展开的效果 代码 代码实现比较简单 唯一要说的就是通过一个

吕氏春秋i 3464

RecyclerView ItemDecoration-实现分组/悬浮(粘性)头部【Kotlin】

简单说ItemDecoration就是Item的装饰,在Item的四周,我们可以给它添加上自定义的装饰; (是用Kotlin实现的,如果有需要java版,可留言回复) ItemDecoration主要就三个方法 : ) getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State){} onDraw(c: Canvas, parent: RecyclerView, state..

最孤单的人的博客 1024

Android实现recyclerview列表的展开更多和点击收起功能

1:布局文件使用recyclerview显示四列并加入阴影及点击按钮控件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android..

weixin_43117800的博客 3672

Android RecyclerView-使用Itemdecoration实现粘性头部功能,详细到具体步骤.

一 前言 该文详细的介绍了RecyclerView.ItemDecoration实现分组粘性头部的功能,让我们自己生产代码,告别代码搬运工的时代.另外文末附有完整Demo的连接.看下效果: 二 知识准备 RecyclerView.ItemDecoration对于我们最熟悉的功能就是给RecyclerView实现各种各样自定义的分割线了,实现分割线的功能其实和实现粘性头部的功能大同小异,那我们就来...

weixin_33744854的博客 266

Android -- RecyclerView(超简单)实现可展开列表

可展开列表,听到这几个字的时候也许你就会问了,为啥要用 RecyclerView,用Android提供的 ExpandableListView不是更好吗?是的,ExpandableListView是很轻松就可以实现,但是,我要告诉你,我就是喜欢用RecyclerView ……

猿小侯的博客 4万+

安卓用RecyclerView实现一层的展开与折叠

类似于上图的功能实现(展开只显示一层) 实现这个之前没有找到比较好的解决方案,现在才发现系统有个这个的控件:ExpandableListVIew.也是实现显示一层的折叠与展开。不过既然自己已经实现了,也不想白白浪费精力,所以写出来,以后也好自己看看(虽说写的不咋地,最起码也是实现了。) 开始:整体的布局是2个RecyclerView嵌套完成的,最外面一个大的Recyclerview包括...

BetterMez的博客 1万+

Android RecyclerView(超简单)实现可展开列表——单项展开

之前写过  Android -- RecyclerView(超简单)实现可展开列表  的一篇文章,通过增加、删除的方式来模拟实现展开、收起的功能,思路很简单,也比较实用,最近看到评论里有猿友提出只展开一行的需求,并且还有猿友跟着提问,索性就再专门写一篇。         只展开一行,也就是说当有一行处于展开的情况下再点击另外一行,另外一行展开,原本展开的那一行收起。好了,需求明确了,那我们要如何

猿小侯的博客 1万+

RecycleView与ItemDecoration实现悬停头部分组列表

今天阅读了一篇非常不错的文章,实现了非常不错的又不分组列表,这里我也写一篇博客,以记录自己对于文章的学习。原文地址——http://blog.youkuaiyun.com/zxt0601/article/details/52355199。 本文实现思路通过排好序的A、B、C。。这样的形式,然后通过判断如果是头部的position就绘画头部的样式,思路比较清晰,但是我觉得还是存在一些的问题,如果是一串没

u011125199的博客 1483

Android recyclerview实现查看更多/收起功能

效果图如下(没搞GIF转换工具,只能截图了。。。): 布局文件activity_main.xml,就一个recyclerview: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.an...

RandowWrite 3319
上一篇: 【Android Activity相关】任务栈、启动模式相关问题总结
下一篇: 【Android 技术难点突破】要想实现图文混排时,你会怎么做?来来来,看Colin怎么做
Colin_Mindset
博客等级 码龄12年 159粉丝 105原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值