天天看點

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

android 詳細的底部導航欄的實作

  • 目錄
  • 前言
  • 一、建立一個menu的Actvity
  • 二、建立一個**navigation**的Activity
    • 1.在res中建立一個navigation的activity,它會在res自動生成一個navigation檔案夾。
  • 總結

根據系統自帶的 Bottom Navigation Activity來實作android底部菜單欄,本人是android初學者,從網上找了一堆的教程,老是出現各種各樣的bug,然後才發現使用android官方自帶的工具可以快捷實作底部菜單的切換。

目錄

提示:本人是從B站up主longway777的android教程視訊借鑒學習所有感而發,寫這麼一篇基礎教程。

文章目錄

  • 目錄
  • 前言
  • 一、建立一個menu的Actvity
  • 二、建立一個**navigation**的Activity
    • 1.在res中建立一個navigation的activity,它會在res自動生成一個navigation檔案夾。
  • 總結

前言

提示:檢視build.gradle裡面設定的minSdkVersion是否大于16。

提示:以下是本篇文章正文内容,下面案例可供參考

一、建立一個menu的Actvity

示例:

在android工程的res下去建立一個menu屬性的activit

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結
建立完成後,我們在Design下,去講menu設計三個菜單選項,用來為底部菜單選線,設定三個菜單選項。
           
android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

這樣我們的菜單樣式就完成了!

二、建立一個navigation的Activity

1.在res中建立一個navigation的activity,它會在res自動生成一個navigation檔案夾。

若不知道navigation的用法,請自行百度搜尋。

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

至此就已經建立完成了,,,然後我們去java包下去建立,

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

建立三個Fragment,将Fragment綁定到navigation

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

将Fragment建立完成後,來到navigation就可以看到剛剛建立的navigation。将它們添加進去。

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

此處的ID,一定要與menu裡面設定的ID相等,否則會無法找到menu設定的參數。

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

設定完成之後呢,不要忘記将menu跟BottomNavigationView綁定

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

綁定完成後,我們調整一下BottomNavigationView的位置,讓其在activity的底部顯示。

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

将左右跟底部與activity綁定,設定layout_height為

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

然後就完成了一半了

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

然後,我們再将

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

我們建立的navigation通過元件綁定到activity中,

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

調節完Fragment後,我們基本上就算将頁面布局完成了,現在隻需要用代碼,控制其點選不同的底部按鈕進行切換不同的Fragment就可以了

代碼的話我貼一下:

// 步驟1:擷取FragmentManager
        FragmentManager fragmentManager = getFragmentManager();
        // 步驟2:擷取FragmentTransaction
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        BottomNavigationView bottomNavigationView = findViewById(R.id.bottomNavigationView);
        NavController navController = Navigation.findNavController(this,R.id.fragment1);
        AppBarConfiguration configuration = new AppBarConfiguration.Builder(navController.getGraph()).build();
        NavigationUI.setupWithNavController(bottomNavigationView,navController);
           

一定要将代碼寫到Activity的onCreate裡面,否則NavigationUI.setupWithNavController會報錯

bottomNavigationView 是建立BottomNavigationView的id

fragment1 是建立Fragment設定的id

AppBarConfiguration.Builder(NavGraph navGraph)

頂級目标是NavGraph的起始頁面

具體可看Fragment- JetPack Navigation 全面介紹

然後就綁定完成成功了

總結

提示:這裡對文章進行總結:

android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結
android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結
android 底部導航欄的實作目錄前言一、建立一個menu的Actvity二、建立一個navigation的Activity總結

通過activity元件中的BottomNavigationView跟NavHostFragment元件,将menu跟Navigation綁定到一起,通過代碼實作點選不用底部按鈕,切換綁定的Fragment。