|
24 | 24 | import androidx.lifecycle.ViewModelProvider;
|
25 | 25 | import androidx.navigation.NavController;
|
26 | 26 | import androidx.navigation.NavGraph;
|
| 27 | +import androidx.navigation.NavOptions; |
27 | 28 | import androidx.navigation.fragment.NavHostFragment;
|
28 | 29 | import androidx.navigation.ui.AppBarConfiguration;
|
29 | 30 | import androidx.navigation.ui.NavigationUI;
|
@@ -217,10 +218,25 @@ private void observeViewModel() {
|
217 | 218 | navGraph.setStartDestination(uiState.getDefaultNavDestination());
|
218 | 219 | navController.setGraph(navGraph);
|
219 | 220 |
|
| 221 | + NavOptions springNavOptions = new NavOptions.Builder() |
| 222 | + .setEnterAnim(R.anim.fragment_spring_enter) |
| 223 | + .setExitAnim(R.anim.fragment_spring_exit) |
| 224 | + .setPopEnterAnim(R.anim.fragment_spring_pop_enter) |
| 225 | + .setPopExitAnim(R.anim.fragment_spring_pop_exit) |
| 226 | + .build(); |
| 227 | + |
220 | 228 | if (mBinding.navView instanceof BottomNavigationView bottomNav) {
|
221 | 229 | NavigationUI.setupWithNavController(bottomNav, navController);
|
| 230 | + bottomNav.setOnItemSelectedListener(item -> { |
| 231 | + navController.navigate(item.getItemId(), null, springNavOptions); |
| 232 | + return true; |
| 233 | + }); |
222 | 234 | } else if (mBinding.navView instanceof NavigationRailView railView) {
|
223 | 235 | NavigationUI.setupWithNavController(railView, navController);
|
| 236 | + railView.setOnItemSelectedListener(item -> { |
| 237 | + navController.navigate(item.getItemId(), null, springNavOptions); |
| 238 | + return true; |
| 239 | + }); |
224 | 240 | }
|
225 | 241 |
|
226 | 242 | setSupportActionBar(mBinding.toolbar);
|
|
0 commit comments