AndroidはBottomNavigationViewとNavControlを使用して下部ナビゲーションバーを実現

4660 ワード

1.メインレイアウト



    
    
    

    
    


BottomNavigationView:下部ナビゲーションビュー、menuでナビゲーションメニュー、すなわちナビゲーションID、アイコン、タイトルを指定
fragment:ナビゲーション切り替えのFragmentプレースホルダ、navGraphによってナビゲーションルール、すなわちIDとFragmentによるクラスのマッピングを指定
 
2.ナビゲーションメニューレイアウト




    

    

    


各ナビゲーションメニューには、ナビゲーションのID、アイコン、タイトルが含まれています
 
3.ナビゲーション規則




    
    
    

    

    

各ナビゲーションルールには、メニューのIDと一致するナビゲーションIDとFragmentクラスのマッピングが含まれています.
 
4.メインActivity
/**
 *    ,        
 */
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /*      */
        setContentView(R.layout.activity_main);
        /*           */
        BottomNavigationView navView = findViewById(R.id.nav_view);
        /* AppBar   */
        AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications).build();
        /*  Fragment       ,navGraph        */
        NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
        /*  AppBar       ,        ,     */
        NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
        /*           ,           */
        NavigationUI.setupWithNavController(navView, navController);
    }

}

NavControllerはナビゲーションコントローラで、ナビゲーションルールが含まれており、ナビゲーションの中枢です
NavigationUI.setupActionBarWithNavController、NavControllerナビゲーション変更のリスニングイベントを設定し、ページタイトルバーを変更する
NavigationUI.setupWithNavControllerは、ナビゲーションの変更をトリガーするイベントを設定し、下部のナビゲーションバーがクリックされるとナビゲーションをトリガーします