0

我试图让谷歌地图占据几乎所有的屏幕,但我希望我自己的全宽状态栏位于地图下方的屏幕底部。为此,我尝试使用带有 TextView 作为状态栏的 LinearLayout。但是状态栏永远不会出现。我的xml是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        class="com.google.android.gms.maps.MapFragment" />             

    <TextView 
        android:id="@+id/main_status_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:padding = "4sp"
        android:gravity="left|center_vertical"
        android:text="Statusbar"
        />

</LinearLayout>

我究竟做错了什么?

PS:我有点担心只有两个选择android:layout_height,即"wrap_content""match_parent"。这似乎不允许状态栏的规格是它需要的大小(即android:layout_height="wrap_content"),并且地图占据了其余部分,因为对我来说,使用android:layout_height="match_parent"逻辑上意味着没有其他任何空间。然而,即使使用

android:layout_height="wrap_content"

因为两者似乎都不起作用。

4

1 回答 1

2

我究竟做错了什么?

如果我不得不猜测,wrap_content它不适用于MapFragment. 除此之外,无论如何,您的布局并没有指定您显然想要什么。

我有点担心 android:layout_height 只有两个选择,即“wrap_content”和“match_parent”。

有无数个选择android:layout_height,因为它也可以有一个维度,并且有无数个正整数。

这似乎不允许状态栏的规格是它需要的大小(即 android:layout_height="wrap_content"),其余的由地图

android:layout_height片段设置为0dp,并设置其android:layout_weight="1". 这告诉 Android 为固有高度分配 0 个像素,但也给它所有剩余的像素(因为默认情况下,条的权重为 0)。这将导致MapFragment接管底部栏未占用的所有空间。

于 2013-05-02T12:37:06.050 回答