当我尝试在java上使用android导航组件时。它与开箱即用的抽屉导航配合得不好。除了从抽屉导航导航到 fragment 之外,我可以执行所有操作。 我正在开发一个项目,我需要快速摆脱困境,并希望使用我更有经验的 java 来完成它。有人能够破解这个吗?
implementation 'androidx.navigation:navigation-fragment:2.1.0'
implementation 'androidx.navigation:navigation-ui:2.1.0'
创建主 Activity
rootLayout = findViewById(R.id.drawer_layout);
drawerLayout = findViewById(R.id.drawer_layout);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
NavHostFragment navHostFragment = (NavHostFragment)getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
navController = navHostFragment.getNavController();
mAppBarConfiguration = new AppBarConfiguration.Builder(navController.getGraph())
.setDrawerLayout(drawerLayout)
.build();
drawerLayout = findViewById(R.id.drawer_layout);
//setup navigation
NavigationView navigationView = findViewById(R.id.nav_view);
NavigationUI.setupWithNavController(navigationView, navController);
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_claims, R.id.nav_products,R.id.nav_deliveries, R.id.nav_quotes,
R.id.nav_policies, R.id.nav_payment,R.id.nav_about,R.id.nav_contact)
.setDrawerLayout(drawerLayout)
.build();
//setup action bar
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
PS:mobile_navigation.xml和activity_main_drawer.xml上的id是相同的。所以没有问题。
最佳答案
发现问题了。这有点奇怪,但是哦,好吧...您需要确保 app_bar_main 的包含位于 Activity 中的 NavigationView 之前,例如 Activity_main
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"
android:background="@color/colorAccent"
app:itemTextColor="@android:color/white"
app:itemIconTint="@android:color/white"
android:fitsSystemWindows="false"
android:isScrollContainer="true"
android:saveEnabled="true"/>
关于java - Android导航组件2.1.0与java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58931015/