我正试图让谷歌地图占据几乎所有的屏幕,但我希望我自己的全宽状态栏位于地图下方的屏幕底部。为此,我尝试使用LinearLayout,使用TextView作为状态栏。但是状态栏永远不会出现。我的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"
两者似乎都不起作用。
答案 0 :(得分: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
接管底栏未消耗的所有空间。