Android 用于约束MapView大小的布局

Android 用于约束MapView大小的布局,android,google-maps,layout,android-mapview,Android,Google Maps,Layout,Android Mapview,我试图限制地图视图的大小,使其占据屏幕高度的90%,并将剩余的10%保留在另一个视图(例如菜单栏)的底部。我可以得到效果,但菜单栏覆盖了地图视图,因此地图的底部不可见。虽然MapView可以滚动Google徽标的一部分(我怀疑这可能违反了Maps API的T&C),但我宁愿将MapView限制在屏幕的指定部分。到目前为止,我还没有发现任何将地图视图强制为常规布局约束的布局,例如布局权重 我开始认为这只能通过编程方式实现,方法是获取设备的屏幕尺寸,然后显式设置MapView布局的宽度和高度,或者让

我试图限制地图视图的大小,使其占据屏幕高度的90%,并将剩余的10%保留在另一个视图(例如菜单栏)的底部。我可以得到效果,但菜单栏覆盖了地图视图,因此地图的底部不可见。虽然MapView可以滚动Google徽标的一部分(我怀疑这可能违反了Maps API的T&C),但我宁愿将MapView限制在屏幕的指定部分。到目前为止,我还没有发现任何将地图视图强制为常规布局约束的布局,例如布局权重

我开始认为这只能通过编程方式实现,方法是获取设备的屏幕尺寸,然后显式设置MapView布局的宽度和高度,或者让任何人使用xml布局来实现这一点。

我找到了答案。这基本上是John所说的,使用布局和重量:

<LinearLayout ... >
 <FrameLayout android:id="@+id/map_frame"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="0.7" >     

    <com.google.android.maps.MapView
        android:id="@+id/map_view" 
        android:layout_width="fill_parent"
        android:layout_height="match_parent" 
        android:enabled="true" 
        android:clickable="true"             
        android:apiKey="api_key"/>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />
 </FrameLayout>
</LinearLayout>


你是对的,模糊谷歌标志与T&C的标志是对立的。此外,我不相信你可以让谷歌地图查看全屏以外的任何内容。我有一个来自mapview的视图自定义,我可以正常设置布局的宽度、高度和重量。我发现可以通过在其父布局容器上放置布局的重量来限制地图视图的大小。