如何在每部手机上显示bottomnavigationbar?

时间:2018-08-20 08:51:54

标签: android xml android-studio bottomnavigationview

我正在尝试与Google Maps一起实现bottomNavigationBar。 但是GoogleMaps会占用所有剩余空间,并覆盖bottomNavigatonBar。如果我用“ dp”定义googleMaps高度,那么它仅适用于一种屏幕尺寸。 有什么方法可以将BottomNavigationView与googleMaps一起使用,以便它们一起填满整个屏幕?

那是我的实际xml文件:     

<LinearLayout 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/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".fahrplanmap">

<com.MultiSelectionSpinner
    android:id="@+id/mySpinner1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/getSelected"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Check"/>

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsAnzeigeActivity" />

<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:menu="@menu/navigation" />

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

尝试使用Javaparser

类似的东西

RelativeLayout

这是它的外观

答案 1 :(得分:1)

您可以尝试使用framelayout解决此问题 尝试这样的事情

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsAnzeigeActivity" />

<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:menu="@menu/navigation" />
</FrameLayout>