BottomNavigationView不在底部显示,而是在顶部显示

时间:2018-12-06 11:34:57

标签: android

我的菜单没有显示在底部。我在BottomNavigationView中有一个菜单。导航视图包含在布局中。我尝试将重力设置为底部,设置约束,alignparentbottom,但仍显示在布局的顶部。下面是我的菜单,导航和布局的代码。

我添加了一张图片来说明问题:

enter image description here

我的菜单。它有一些菜单项:

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <--- items here --->
</menu>

我的BottomNavigationView:

    <android.support.design.widget.BottomNavigationView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="56dp"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        app:menu="@menu/nav_menu"
        android:id="@+id/bottom_menu_layout"
        android:layout_gravity="bottom">

        <View
            android:layout_width="fill_parent"
            android:layout_height="2dip"
            android:background="#D3D3D3" />

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

我的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:include="http://schemas.android.com/apk/res-auto">


    <TextView
        android:id="@+id/mainlayouttext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:text="@string/maintextview"
        include:layout_constraintBottom_toBottomOf="parent"
        include:layout_constraintEnd_toEndOf="parent"
        include:layout_constraintStart_toStartOf="parent"
        include:layout_constraintTop_toTopOf="parent" />

    <include layout="@layout/meny_bottom_layout" />
</android.support.constraint.ConstraintLayout>

2 个答案:

答案 0 :(得分:1)

您的包含未指定任何constraints。如果我在你里面,我会尝试类似的

    <include
            android:layout_height="0dp"
            android:layout_width="0dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"  
            layout="@layout/meny_bottom_layout"/>
如果您要考虑其他包含的参数,则

android:layout_heightandroid:layout_width是必需的

答案 1 :(得分:1)

<android.support.design.widget.BottomNavigationView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    app:menu="@menu/bottombar_menu"/>

在…res / menu /下创建一个新的 bottombar_menu.xml

bottombar_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto">

 <item
    android:id="@+id/bottombaritem_calls"
    android:icon="@drawable/ic_call_24dp"
    android:title="Calls"
    app:showAsAction="ifRoom"/>
</menu>

您可以尝试这样