当前位置: 首页 > 知识库问答 >
问题:

如何在同一个应用程序中创建导航抽屉和底部栏

刁远
2023-03-14

我正在创建一个应用程序,我想在应用程序中有一个导航抽屉和一个底部栏。

我认为我是在寻找一个好方法,但我可以在导航抽屉中显示它,它不在底部栏的上方,它在后面,所以我怎么做呢?我需要底部栏上方的导航抽屉。

这是我的代码,希望你能帮我,谢谢n.n

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:layout_width="match_parent"
                android:layout_height="match_parent">


    <android.support.v4.widget.DrawerLayout 
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:layout_width="match_parent"
      android:layout_height="match_parent">

   <include
          layout="@layout/include_list_viewpager" />-

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_height="match_parent"
        android:layout_width="300dp"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/drawer_view" />

  </android.support.v4.widget.DrawerLayout>


  <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        app:itemBackground="@color/colorPrimaryRed"
        app:itemTextColor="@drawable/nav_item_color_state"
        app:itemIconTint="@drawable/nav_item_color_state"
        app:menu="@menu/navigation" />


</RelativeLayout>

共有3个答案

云俊名
2023-03-14

您的问题有两种可能的解决方案。

  1. 这很容易。给底部导航视图一个特定的高度,比如说56dp,然后给它一个导航视图的marginBottom
  2. 保持原样。只需分配抽屉布局的属性layout_over=“@id/bottom_navigation

宋勇
2023-03-14

你可以试试

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.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"
    tools:context="com.example.chuks.vibefmbenin.MainActivity">

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

    <!-- The main content that loads the fragments -->
    <FrameLayout
        android:id="@+id/frament_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <!-- Setting the corodinator layout inorder to pull the bottom
         navigation view down to the bottom-->
    <android.support.design.widget.CoordinatorLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">  <!--The bottom navigation -->

        <android.support.design.widget.BottomNavigationView
            android:id="@+id/navigationBottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:background="?android:attr/windowBackground"
            app:menu="@menu/navigation_bottom"/>

    </android.support.design.widget.CoordinatorLayout>

    <!-- The navigation drawer that comes from the left -->
    <!-- Note that `android:layout_gravity` needs to be set to 'start' -->
    <android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:menu="@menu/navigation_menu"
        android:layout_gravity="start"
        app:headerLayout="@layout/navigation_header">

    </android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
巴照
2023-03-14
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.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">
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >
    <include
       ----- text showing -----/>

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/colorPrimary"
        app:itemTextColor="@color/colorAccent"
        app:itemIconTint="@color/colorWhite"
        app:menu="@menu/bottom_navigation_item"/>
</RelativeLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />
 类似资料:
  • 目前我有三个选项在我的底部导航和一个导航图。 我主要活动的一部分。xml文件如下所示: 在我的主活动中,我写了这段代码, 与导航相关的一切都由jetpack导航库处理。现在我还想添加一个导航抽屉,在抽屉中我想添加不同的菜单项(不仅仅是底部导航中的三个),所以我将为导航抽屉添加新的菜单资源文件,现在我应该如何为底部导航和导航抽屉使用导航库?我不想手动执行片段事务并使用片段管理器。 我可以想到的一种方

  • 我有如下的屏幕,其中包含一个导航抽屉和底部导航在同一个屏幕上: 我正在使用Jetpack导航架构组件。 当前问题和我尝试了什么? 单击第二个和第三个底部导航项目会在工具栏上显示返回箭头吗? 已尝试:将与第二和第三底部导航相关联的片段设置为顶级目的地 代替 不起作用。 任何帮助高度赞赏! 我的代码如下所示。 activity_main.xml menu_bottom.xml nav_graph.xm

  • 当我右击应用程序时,在此处输入图像描述 当我尝试按照上述步骤创建名为“HomeActivity”的导航抽屉活动时。它只是在菜单目录和AndroidManifest中的“.HomeActivity”中创建一个xml文件。xml文件(给出错误)。但是家庭活动。java和activity_主页。xml和其他片段和导航活动未创建。 我已附上我的AndroidManifest。xml代码。注意:我目前使用的

  • 我正在建立一个android应用程序,我需要知道是否使用动作条夏洛克和jfeinstein10滑菜单。至于ABS,我知道它是为支持旧版本操作系统的应用程序构建的,但现在我可以看到最新的支持库包括动作条。我现在有什么理由要用腹肌吗? 至于滑动菜单,我在谷歌发布新的导航抽屉之前就已经试过了,它工作得很棒,我决定使用它。但现在我不确定是否应该改用导航抽屉。滑动菜单比导航抽屉有什么优势吗?

  • 在本活动中,我希望拥有导航抽屉,因此我扩展了'NavigationDrawer',在其他一些活动中,我希望使用相同的导航抽屉

  • 在所有活动上添加导航抽屉的有效方法是什么?我不想在所有的活动和它们的布局中重复导航抽屉的代码。有没有可能以某种方式添加导航。BaseActivity(自定义类)中的抽屉,然后每个其他活动都将扩展BaseActivity以便拥有导航抽屉?