我的 Relativelayout 不会显示在 FrameLayout 下

My Relativelayout won't show under FrameLayout

enter image description here好的 所以,我做了 fragment_googlemap.xml 并且我将 FrameLayout 设计为根布局,因为我需要将 mapView 作为片段。切入正题,我想要的是在 google 地图的顶部显示 Spinner 和 Floating Action Button。但是当我 运行 应用程序时,我看不到 relativelayout 的孩子(微调器和浮动按钮)。我认为它在 googlemapview 下,因为加载时我可以在 googlemap 下看到它们一秒钟。 有什么解决办法吗?

OOOHH 顺便说一句,我不知道为什么浮动按钮中的 elevation 属性值不起作用任何想法????

抱歉,如果我的英语不好 :( 提前致谢!!!

=======下面是我的xml文件源代码===========

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:fab="http://schemas.android.com/tools"
    android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <Spinner
        android:id="@+id/spinner_countries"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/fab"
        android:layout_below="@+id/fab"
        android:entries="@array/location_arraysResc" />


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_gravity="end|top"
        android:layout_margin="10dp"
        android:backgroundTint="@color/colorPrimary"
        android:elevation="6dp"
        android:src="@drawable/paperplane"
        android:tint="#000000"
        app:borderWidth="0dp"
        app:rippleColor="#eF43ef" />
    </RelativeLayout>


    <com.google.android.gms.maps.MapView
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    </com.google.android.gms.maps.MapView>


</FrameLayout> 

您可以将 FrameLayout 视为 LinearLayout,只是它会将视图堆叠在一起。布局中的最后一个视图将是屏幕上的顶视图。

因此,如果您想在 MapView 之上添加一些内容,您应该将这些视图标签 放在 <MapView> 标签之后。

试试这个

1. FloatingActionButton 使用 app:elevation="6dp" 代替 android:elevation="6dp"

    <?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">

    <com.google.android.gms.maps.MapView
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </com.google.android.gms.maps.MapView>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_margin="10dp"
        android:backgroundTint="@color/colorPrimary"
        android:elevation="6dp"
        android:src="@drawable/ic_info_black_24dp"
        android:tint="#000000"
        app:borderWidth="0dp"
        app:rippleColor="#eF43ef" />

    <Spinner
        android:id="@+id/spinner_countries"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignRight="@+id/fab"
        android:layout_below="@+id/fab"
        android:entries="@array/myarray" />

</RelativeLayout>

您可以将 MapView 放入新的 RelativeLayout 中,试试这个。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:fab="http://schemas.android.com/tools"
    android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <Spinner
        android:id="@+id/spinner_countries"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/fab"
        android:layout_below="@+id/fab"
        android:entries="@array/location_arraysResc" />


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_gravity="end|top"
        android:layout_margin="10dp"
        android:backgroundTint="@color/colorPrimary"
        android:elevation="6dp"
        android:src="@drawable/paperplane"
        android:tint="#000000"
        app:borderWidth="0dp"
        app:rippleColor="#eF43ef" />
    </RelativeLayout>

     <RelativeLayout
        android:id="@+id/spinner_countries"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <com.google.android.gms.maps.MapView
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent">
        </com.google.android.gms.maps.MapView>

   </RelativeLayout

</FrameLayout> 

试试这个

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:fab="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<com.google.android.gms.maps.MapView
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</com.google.android.gms.maps.MapView>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Spinner
        android:id="@+id/spinner_countries"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/fab"
        android:layout_below="@+id/fab"
        android:entries="@array/location_arraysResc" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_gravity="end|top"
        android:layout_margin="10dp"
        android:backgroundTint="@color/colorPrimary"
        android:elevation="6dp"
        android:src="@drawable/paperplane"
        android:tint="#000000"
        app:borderWidth="0dp"
        app:rippleColor="#eF43ef" />
</RelativeLayout>