专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
今天看啥  ›  专栏  ›  鸿洋

自定义View:手撸一个带FAB凹槽的底部导航栏

鸿洋  · 公众号  · android  · 2024-11-25 08:35

主要观点总结

本文介绍了一个Android底部导航栏的自定义实现过程,包括设计思路、实现步骤和关键代码。通过自定义BottomNavigationView,实现了底部导航栏的凹陷效果,跟随FAB按钮的点击动作动态变化。

关键观点总结

关键观点1: 设计思路

使用谷歌官方提供的现成组件BottomNavigationView和Navigation组件实现页面跳转,利用协调者布局CoordinatorLayout的特性实现FAB停靠导航栏,自定义导航栏的形状,根据FAB的凹陷深度来动态绘制导航栏。

关键观点2: 实现过程

创建底部导航栏和页面跳转的Activity,根据需求在小细节上进行修改。利用坐标计算确定凹陷效果的具体实现方式,通过自定义BottomNavigationView并重写其onDraw方法来绘制凹陷效果。通过按钮的点击事件触发动画和凹槽的动态更新。

关键观点3: 最终效果图

展示了自定义底部导航栏的最终效果,包括页面跳转、FAB按钮停靠、凹陷效果以及按钮位移动画等功能的实现效果。


文章预览

链接:https://juejin.cn/post/7337354931480199208 本文由作者授权发布 前言 底部导航栏相信大部分的Androider都不陌生,毕竟对于绝大多数的应用来说底部导航栏是首页的标配,也不缺各种花里胡哨不按常理出牌的底部导航栏。例如在我某天路过看到同事搞了个下面这样的: 我:咦?这种中间的FAB直接凹陷下去的效果你是怎么实现的,之前还没搞过这样的还真有点新奇hhh 同事:UI提供的切图呗,图片原本就是中间凹下去的,直接设成background不就行了,这有多难? 我:......?如果你的FAB移动了,导航栏怎么跟着变化? 同事:没得怎么变化,反正需求没有说要加动画 我:那要是PM要你的导航栏凹陷深度依赖于FAB的位置大小,你要怎么处理? 同事:......那阁下又当如何应对?(摆烂) emmmmm.....好了成功激起了我的好奇心,横竖现下手头上没啥要紧的活,那就自 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览