提问人:Arya_ 提问时间:5/22/2023 最后编辑:Arya_ 更新时间:5/22/2023 访问量:44
实现导航抽屉时无法隐藏操作栏
Unable to hide Action Bar while implementing Navigation Drawer
问:
这是 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
视图的放置有什么问题吗?
答:
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()
评论