如何将工具栏定位在地图片段下方?

时间:2015-08-31 16:42:30

标签: android layout

我正在制作一个布局,我需要在Map Fragment下面放置一个工具栏。好吧,它可能听起来很容易,但从我的小知识,我遇到了一个棘手的问题。 好吧,我已经实现了如何让片段体下方的工具栏,但我遇到了一些问题:

  1. 当使用线性布局时,我使用权重分割两个组件,这是我需要的完美但却无法将工具栏放到片段的底部。
  2. 使用相对布局时,我能够将工具栏放在片段下方,但由于地图很大,我无法调整地图的高度,工具栏超出范围。
  3. 我需要的是LinearLayout的权重和相对布局的'android:Layout_below'效果的组合效果。

    我会在这里发布我的代码:

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
    
            <include
                android:id="@+id/app_bar"
                layout="@layout/app_bar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/map1"
                />
    
    
            <fragment
                android:id="@+id/map1"
                class="com.google.android.gms.maps.MapFragment"
                android:layout_width="match_parent"
                android:layout_height="200dp"
    
    
                />
    </RelativeLayout>
    

    我的工具栏位于单独的布局'app_bar'

2 个答案:

答案 0 :(得分:0)

工具栏就像任何视图一样,可以放在任何你想要的位置。这与它和ActionBar之间有很大的不同。

只需将元素放置在布局中的任何位置即可。

在您的情况下,不要相对于片段放置工具栏,但相对于父级(RelativeLayout),您可以控制它的位置/大小独立于您的片段(然后您可以放置​​它)相对于工具栏,如果你想要那个控件)

答案 1 :(得分:0)

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


    <include
        android:id="@+id/app_bar"
        layout="@layout/app_bar"
        android:layout_width="match_parent"
        android:layout_height="80dp"// or whatever...
        android:layout_alignParentBottom="true"
        />


    <fragment
        android:id="@+id/map1"
        class="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_alignParentTop="true"
        android:layout_above="@+id/app_bar"
        android:layout_height="fill_parent"


        />