androidx.navigation:navigation-ui和android.arch.navigation:navigation-ui-ktx是Android Jetpack中的两个导航库。它们之间的区别主要在于名称和所属的包。
androidx.navigation:navigation-ui库是Android Jetpack中新的导航库,它提供了用于创建导航图和处理导航的类和方法。该库的类位于androidx.navigation.ui包中。
android.arch.navigation:navigation-ui-ktx库是旧版导航库,它的类位于android.arch.navigation.ui包中。这个库已经被弃用,不再更新。
由于androidx.navigation:navigation-ui库是新版导航库,推荐使用它来进行导航相关的开发。下面是一个使用androidx.navigation:navigation-ui库的示例:
implementation "androidx.navigation:navigation-fragment-ktx:2.4.0"
implementation "androidx.navigation:navigation-ui-ktx:2.4.0"
class MainActivity : AppCompatActivity() {
private lateinit var navController: NavController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
navController = navHostFragment.navController
// 设置导航图与导航UI关联
val navView: BottomNavigationView = findViewById(R.id.nav_view)
navView.setupWithNavController(navController)
}
}
在上面的示例中,我们使用了androidx.navigation:navigation-ui库来设置BottomNavigationView与导航图的关联,实现了底部导航栏的切换和界面导航的功能。
总结:推荐使用androidx.navigation:navigation-ui库进行导航相关的开发,因为它是新版导航库,提供了更多的功能和改进。