gpt4 book ai didi

android-studio - setDrawerLayout(androidx.drawerlayout.widget.DrawerLayout) 已弃用

转载 作者:行者123 更新时间:2023-12-03 15:53:17 26 4
gpt4 key购买 nike

我正在尝试使用新的 Android 架构设置带有应用栏配置的抽屉导航布局。我遇到的问题是 android studio 告诉我设置抽屉布局的方式已被弃用。

这是我的 xml 配置


<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/top_app_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/MaterialTheme"
style="@style/Widget.MaterialComponents.Toolbar.Primary"
/>

</com.google.android.material.appbar.AppBarLayout>

<androidx.drawerlayout.widget.DrawerLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawer_layout">

<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/navigation_graph"/>

<com.google.android.material.navigation.NavigationView
android:id="@+id/navigation_view"
android:layout_width="230dp"
android:layout_height="match_parent"
android:background="@drawable/gradient_background"
app:itemTextColor="@android:color/black"
app:menu="@menu/drawer_menu"
android:layout_gravity="start"
android:fitsSystemWindows="true"
android:theme="@style/Theme.Design">

</com.google.android.material.navigation.NavigationView>

</androidx.drawerlayout.widget.DrawerLayout>

</androidx.coordinatorlayout.widget.CoordinatorLayout>


这是我如何声明 AppBarConfiguration 和 Drawer Layout

private AppBarConfiguration appBarConfiguration;
private NavController navController;
MaterialToolbar topAppBar;

private ActionBarDrawerToggle actionBarDrawerToggle;
DrawerLayout drawerLayout;
NavigationView navigationView;


这是我找到 NavController、topAppBar、drawerLayout 和 NavigationView 的地方
        navController = Navigation.findNavController(this, R.id.nav_host_fragment);

topAppBar = findViewById(R.id.top_app_bar);
drawerLayout = findViewById(R.id.drawer_layout);
navigationView = findViewById(R.id.navigation_view);


这是设置不推荐使用的抽屉布局的方式 是否有一种新的方式来设置不推荐使用的抽屉布局

appBarConfiguration = new AppBarConfiguration.Builder(navController.getGraph())
.setDrawerLayout(drawerLayout)
.build();


这是我设置 NavigatioUi 的地方
NavigationUI.setupWithNavController(topAppBar, navController, appBarConfiguration);

最佳答案

使用 setOpenableLayout(@Nullable Openable openableLayout)您的 drawerLayout 实现了 Openable。

关于android-studio - setDrawerLayout(androidx.drawerlayout.widget.DrawerLayout) 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62386279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com