android 悬浮固定位置,Android RecyclerView 顶部悬浮实现

本文介绍如何在Android中实现在RecyclerView滚动时顶部悬浮的效果。通过在每个item中包含一个StickyLayout,并监听RecyclerView的滚动,根据滚动距离动态调整假的StickyLayout的位置,从而实现吸顶效果。
摘要由CSDN通过智能技术生成

a7d5380b511ba21308752598e16b846f.gif

sticky.gif

思路:

每一个RecyclerView的item的布局(下文叫itemUI)里面都包含“吸顶文本”这个布局(下文叫StickyLayout),根据当前itemA和上一个itemB的吸顶信息是否相同,决定是否展示itemA的StickyLayout.

包含RecyclerView的布局(下文叫wrapperUI)最上部分,有一个假的StickyLayout(下文叫FakeStickyLayout).

监听RecyclerView的滚动,根据RecyclerView的滚动距离,决定FakeStickyLayout向上或者向下滚动的距离.

代码解析

wrapperUI.xml

复制代码

itemUI.xml

~~~~~~~

复制代码

这两个布局没什么特别,重点是

复制代码

这个include标签引用的布局,就是吸顶的那个布局,保证了itemUI中的StickyLayout和wrapperUI中的FakeStickyLayout的布局一致.

再说RecyclerView 的 Adapter:

// RecyclerView 的第一个item,肯定是展示StickyLayout的.

public static final int FIRST_STICKY_VIEW = 1;

// RecyclerView 除了第一个item以外,要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值