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的結合實現了流暢的左右滑動和點擊切換效果,為用戶提供更佳的用戶體驗。相關代碼實現和源碼可供參考,歡迎交流學習。