*Trước đó đã tạo được Navigation Grap
*Fragment:
-Tạo đối tượng của findNavcontroller : val controller = findNavcontroller() (để thao tác giữa các fragment thuộc NavGrap trên fragment)
-Chuyển từ fragment này sang fragment khác ta sử dụng navigate()
cách1:
controller.navigate(R.id.<id của fragment trong navgrap>)
cách 2:
tạo view: private val view : View = inflater.inflate(R.layout.<nameFragment>, container, false)
Navigation.findNavController(view).navigate(R.id.<id fragment muốn chuyển or action>)
-View binding:
+ biến global :
private lateinit var binding : <tên class>+Binding
+trong hàm onCreateView()
binding = <tên class>+Binding.inflater(inflater, container, false)
ta sử dụng binding để thao tác
return binding.root
*Activity:
-Tạo navController:
val navHostFragment =supportFragmentManager.findFragmentById(<id layout>) as NavHostFragment
val navController = navHostFragment.navController
-Kết hợp với bottomNavigationView
<id bottomNavigation>.setupWithNavController(navController)
-Kết hợp với Action Bar
private lateinit var appBarConfiguration : AppBarConfiguration (biến global)
+Trong onCreateView()
appBarConfiguration = AppBarConfiguration(setOf(R.id.<all id trong navGraph>))
setSupportActionBar(<id actionbar>)
setupActionBarWithNavController (navController, appBarConfiguration)
(khi này label của fragment sẽ được hiển thị trên actionbar)
*Custom Animation
https://youtu.be/kll8VqOdcMg
Nhận xét
Đăng nhận xét