Nagivation 使用

依赖

``
implementation ‘androidx.navigation:navigation-fragment:2.1.0’
implementation ‘androidx.navigation:navigation-ui:2.1.0’// 用于绑定F
```

引入

 
  
  • NavHostFragment

Nagivation 库里的一个类,本身就是一个Fragment,实现了navHost接口,该接口返回NavController(控制Nav,恢复状态、处理栈堆、nav目的地监听、处理deepLink、设置LifecycleOwner)。 通过NavController,进行导航疏通。

  • defaultNavHost

名字起的相当迷惑,其实将系统的返回键关联到 NavHostFragment

  • navGraph="@navigation/main_navigation"

导航图,相当于一张地图

通过xml布局fragment




    

    
        
        
        
    

    

    

    

  • startDestination指定初始fragment;
  • argument 设置传递参数
  • F嵌套F,通过acticon设定目的F、上一站F、出入动画(类似activity) ;

Java 代码关联nav;

        final NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
        BottomNavigationView navView = findViewById(R.id.nav_view);
	NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
        NavigationUI.setupWithNavController(navView, navController);
  • 这里还绑定了BottomNavigationView

编写各个F的逻辑,就不多说了。

你可能感兴趣的:(Android,Record)