主要观点总结
本文介绍了一个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.....好了成功激起了我的好奇心,横竖现下手头上没啥要紧的活,那就自
………………………………