实现导航抽屉时无法隐藏操作栏

Unable to hide Action Bar while implementing Navigation Drawer

提问人:Arya_ 提问时间:5/22/2023 最后编辑:Arya_ 更新时间:5/22/2023 访问量:44

问:

enter image description here

这是 xml 的完整代码。

<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:openDrawer="start"
        tools:context=".ui.ui_elements.HomeActivity"
        >

<androidx.coordinatorlayout.widget.CoordinatorLayout

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    style="@style/SCREEN"
    tools:context=".ui.ui_elements.HomeActivity">

    <com.google.android.material.bottomappbar.BottomAppBar
        android:id="@+id/bottomAppbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:fabCradleMargin="@dimen/_13sdp"
        android:paddingVertical="@dimen/_9sdp"
        app:fabCradleVerticalOffset="@dimen/_4sdp"
        style="@style/BOTTOMNAV"
        app:fabCradleRoundedCornerRadius="@dimen/_20sdp"
        app:addElevationShadow="true"

        >

        <com.google.android.material.bottomnavigation.BottomNavigationView
            android:id="@+id/bottomNavigationView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:menu="@menu/bottom_nav_menu"
            android:background="@drawable/transparent_background"
            app:itemIconSize="@dimen/_30sdp"

            android:layout_marginHorizontal="@dimen/_16sdp"
            app:labelVisibilityMode="unlabeled" app:itemHorizontalTranslationEnabled="false"
            />

    </com.google.android.material.bottomappbar.BottomAppBar>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/addTaskFab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:fabCustomSize="@dimen/_80sdp"
        app:maxImageSize="@dimen/_60sdp"
        app:srcCompat="@drawable/baseline_add_60"
        app:tint="@null"
        app:layout_anchor="@id/bottomAppbar"
        android:contentDescription="This adds creates a task"
        style="@style/FAB"
        app:backgroundTint="@null"
        tools:ignore="ContentDescription,HardcodedText" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="100"
            >
            <ImageView
                android:id="@+id/nav_menu_button_home"
                android:layout_width="@dimen/_40sdp"
                android:layout_height="@dimen/_40sdp"
                app:srcCompat="@drawable/baseline_menu_60"
                android:layout_weight="10"
                app:tint="@null"
                style="@style/NAV_MENU"
                android:clickable="true"
                android:layout_gravity="center"
                android:padding="@dimen/_5sdp"
                android:backgroundTintMode="src_in"
                android:contentDescription="@string/nav_drawer" />

            <TextView
                android:id="@+id/title"
                android:layout_weight="90"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:paddingEnd="@dimen/_40sdp"
                android:paddingStart="@dimen/_5sdp"
                android:fontFamily="@font/font_awesome_6_free_solid_900"
                android:textStyle="bold"
                android:letterSpacing="0.1"
                android:paddingVertical="@dimen/_5sdp"
                style="@style/TITLE"
                android:text="@string/app_name"
                android:textSize="@dimen/_37sdp"
                />
        </LinearLayout>
        <FrameLayout
            android:id="@+id/fragmentFrameLoader"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginBottom="@dimen/_65sdp"
            />
    </LinearLayout>


</androidx.coordinatorlayout.widget.CoordinatorLayout>

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_drawer_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/nav_drawer"
        android:backgroundTint="@color/lc3"
        app:itemTextColor="@color/lc4"
        app:itemIconTint="@color/lc1"
        app:itemIconSize="@dimen/_22sdp"
        app:subheaderTextAppearance="@color/lc1"
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
</androidx.drawerlayout.widget.DrawerLayout>

在活动文件中,我确实添加了Objects.requireNonNull(getSupportActionBar()).hide()

但是,无论这个错误仍然发生,我该如何隐藏操作栏?

在我实现导航抽屉功能之前,操作栏一直处于隐藏状态

是的,我确实想在没有 API 26 的情况下实现 Nav DrawerToolBar

视图的放置有什么问题吗?

Android XML android-actionbar 导航-抽屉 drawerlayout

评论


答:

1赞 zaid khan 5/22/2023 #1

创建一个自定义主题,以扩展您在应用程序中使用的基本主题并删除 ActionBar。将以下代码添加到样式 .xml 文件中


<style name="AppTheme.NoActionBar" parent="AppTheme">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>


确保您在清单文件 (AndroidManifest.xml 中将 Theme.AppCompat 主题系列设置为活动的主题

<activity
    android:name=".ui.ui_elements.HomeActivity"
    android:theme="@style/AppTheme.NoActionBar"
    >

评论

0赞 Arya_ 5/22/2023
起初编译错误是,然后我评论了它,现在它可以工作了......非常感谢!!!Objects.requireNonNull(getSupportActionBar()).hide()