android自定义导航栏
① 如何隐藏/显示 android 系统的虚拟导航栏/按键
安卓 4.4 以上的版本支持隐藏导航栏,也就是那三个虚拟的按键,本篇经验就介绍如何来隐藏着三个按键。
工具/原料
安卓4.4 以上版本的手机
方法/步骤
安卓4.4以上版本,增加了虚拟的三个按键,谷歌称此三个按钮为导航栏,这三个导航栏是可以隐藏起来的,以节省更多的屏幕空间。
点击设置,进入手机设置。
步骤阅读
在设置中,找到“导航栏可以隐藏”的设置项,将其开启。
开启后,立即生效,点击返回。可以发现导航栏左边多了一个V形的隐藏按钮。点击它即可隐藏导航栏。
隐藏后的效果。
步骤阅读
如果需要让导航栏再次出现,只需在屏幕底部,向上滑动
向上滑动之后,导航栏就再次显示出来。
② Android流行UI布局——底部导航(BottomNavigationView+ViewPager+Fragment)
Android端底部导航栏介绍
Android应用中底部导航栏的设计广泛运用,如微信、微博、支付宝等。这一设计不仅借鉴了iOS的优点,也是为了提升用户体验。在Android开发中,底部导航栏有着特定的实现规范。
本文旨在提供如何使用官方BottomNavigationView、结合ViewPager和Fragment实现流行UI布局的详细指南。同时,文中还将解决使用反射解决ViewPager与BottomNavigationView侧滑联动时的一个小问题。
最终实现效果展示如下:通过BottomNavigationView与ViewPager的结合,可以实现左右滑动切换,类似于微信的布局,或点击切换,如支付宝的布局。
首先,新建项目并导入support:design库,其中包含BottomNavigationView控件。同时,导入V4包以支持ViewPager组件。
然后,在res目录下创建menu文件夹并添加菜单。根据需要创建相应的菜单项。
接下来,进行布局文件的编写。应用BottomNavigationView时,设置其属性如`app:itemIconTint`和`app:itemTextColor`来实现icon和文字的颜色切换。
在activity文件中,实例化控件并添加监听事件。实现BottomNavigationView与ViewPager、Fragment的集成,完成流行布局。
在实现过程中,可能会遇到BottomNavigationView默认的放大的ShiftingMode效果与需要的侧滑切换不匹配的问题。为了解决这一问题,引入了反射机制,通过反射操作BottomNavigationMenuView来控制切换行为。
通过实例化BottomNavigationView并调用特定代码,可以自定义切换效果,避免默认的放大问题。若无需侧滑切换,可直接使用默认效果。在处理禁止滑动情况时,通过为ViewPager添加`setOnTouchListener`接口并在`onTouch`方法中消费点击事件来实现。
测试结果显示,BottomNavigationView与ViewPager、Fragment的结合实现了流畅的左右滑动和点击切换效果,为用户提供更佳的用户体验。相关代码实现和源码可供参考,欢迎交流学习。