gpt4 book ai didi

android - map View 未完全加载

转载 作者:行者123 更新时间:2023-11-29 00:05:43 24 4
gpt4 key购买 nike

我有一个 ScrollView ,其中有一个相对布局,顶部包含灵活大小的内容,下面是 map View 。如果整个内容的高度小于屏幕视口(viewport)( ScrollView ),我希望 map View 填充下面的剩余空间。如果整个内容大于屏幕 View 端口,那么我希望 map View 至少具有一定的高度。这是我所做工作的精简版。

<ScrollView 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:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">

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

<TextView
android:id="@+id/flexContent"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_alignParentTop="true"
android:background="#086dd9"
android:gravity="center"
android:text="Flexible content here"
android:textColor="@android:color/white"
android:textSize="22sp" />

<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_below="@id/flexContent"
android:background="#f73f3f"
android:minHeight="120dp"
map:mapType="normal"
tools:ignore="MissingPrefix" />
</RelativeLayout>


</ScrollView>

当整个内容的高度小于屏幕视口(viewport)的高度( ScrollView 的高度)时,它按预期工作。但是,如果不是,除了 map 没有加载到 map View 的全高外,一切都很好。请看下面的图片

内容小于 ScrollView enter image description here

内容大于 ScrollView

enter image description here

如您在第二张图片中所见, map View 本身遵守布局中设置的 minHeight 120dp 约束(我已将 map View 的背景设置为红色),但实际 map 并未加载到其全高。

如何解决这个问题?

最佳答案

我通过将 MapView 包装在 LinearLayout 中解决了上述问题。我的最终布局现在看起来与此类似。希望它对以后的任何人都有帮助:)

<ScrollView 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:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">

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

<TextView
android:id="@+id/flexContent"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_alignParentTop="true"
android:background="#086dd9"
android:gravity="center"
android:text="Flexible content here"
android:textColor="@android:color/white"
android:textSize="22sp" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_below="@id/flexContent"
android:orientation="vertical"
android:minHeight="120dp">

<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#f73f3f"
map:mapType="normal"
tools:ignore="MissingPrefix" />

</LinearLayout>

</RelativeLayout>

</ScrollView>

关于android - map View 未完全加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com