アプリを作成していますが、アプリ内にナビゲーションドロワーとボトムバーが必要です。
私は良い方法を考えていると思いますが、ナビゲーションドロワーを表示するときにそれを行うことができます。これはボトムバーの上ではなく、背後にあるので、どうすればいいですか?ボトムバーのナビゲーションドロワーが必要です。
これが私のコードです。ありがとう。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>
<?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 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>
問題には2つの解決策があります。
BottomNavigationView
に特定の高さを与えます。たとえば、56dp
そして、これをmarginBottom
のNavigationView
として与えます。DrawerLayout
のプロパティlayout_above="@+id/bottom_navigation
。私にとっては、このコードを試すまで、下のナビゲーションは下に配置されません
<?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"
Android:id="@+id/drawer_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
>
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
>
<Android.support.design.widget.CoordinatorLayout
Android:id="@+id/container"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
>
<include
layout="@layout/toolbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content" />
<FrameLayout
Android:id="@+id/frame_container"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<Android.support.design.widget.BottomNavigationView
Android:id="@+id/navigation"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom"
Android:background="?android:attr/windowBackground"
app:itemBackground="@color/bgBottomNavigation"
Android:foreground="?attr/selectableItemBackground"
app:itemIconTint="@Android:color/white"
app:itemTextColor="@Android:color/white"
app:menu="@menu/navigation" />
</Android.support.design.widget.CoordinatorLayout>
</RelativeLayout>
<Android.support.design.widget.NavigationView
Android:id="@+id/nvView"
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_gravity="start"
Android:background="@Android:color/white"
app:menu="@menu/drawer_view" />
だからあなたはそれを試してみることができます!
とに感謝します
TechTree
彼の答えのために