Navigation Component + Bottom NavigationView

 *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