Kotlin实现仿知乎底部导航栏显示隐藏效果Behavior

通过自定义Behavior和CoordinatorLayout,优雅地实现仿知乎底部导航栏的显示与隐藏效果,避免为每个RecyclerView添加滑动监听。本文提供关键代码,解释在嵌套滑动中如何控制底部栏的动画,并提醒避免将控件设置为GONE导致事件丢失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        最开始遇见这个问题我的第一想法是给recyclerview添加滑动监听,然后再给底部导航添加显示隐藏动画,可是这么做很不优雅,一旦recyclerview不止一个就需要给每个都添加一遍监听(虽然同样的代码cv就行了),这绝不是一个优秀程序员的追求。所以就出现了第二种方法,利用系统提供的Behavior。

       许多人应该不陌生,利用CoordinatorLayout和自定义的Behavior我们可以实现很多炫酷的效果,AndroidStudio提供的模板Activity中的ScrollingActivity就是用的这种方式。

        言归正传,下面说一说如何实现仿知乎的显示隐藏效果如何实现,在这里我就不做具体讲解了,网上讲解的博客已经很多了,相信也比我三言两句讲解的清楚,下面我推荐几篇我在实现的时候参考过的博文

如果你想理解NestedScrolling机制,首先推荐鸿洋大神的博文

Android NestedScrolling机制完全解析 带你玩转嵌套滑动

接下来是我参考过的自定义Behavior的博文

CoordinatorLayout高级用法-自定义Behavior

 

废话不多说,先贴出代码

package com.yking.kotlinfuture.widgets

import android.animation.Animator
im
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值