我试图让地图只填写屏幕的上半部分和下半部分的其他布局。现在我知道这应该可以使用权重与tablelayout结合使用。但是同一段XML代码与say按钮完美配合,但与map无关 Screenshots here
XML代码:
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
>
<com.google.android.maps.MapView
android:id="@+id/map2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="0_z4IHjB6EnXohnoyoudontgoVmhg"
android:clickable="true" >
</com.google.android.maps.MapView>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
<Button android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="SECOND"></Button>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
<Button android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="SECOND"></Button>
</TableRow>
</TableLayout>
如果你用一个按钮替换Mapview块,它将看起来像截图中的第一个图像,而现在它看起来像第二个。
在这两种情况下,我都没有改变任何重量参数或layout_width或height,但它以某种方式改变了大小。任何想法我怎么能让MapView只覆盖一半的屏幕?
答案 0 :(得分:6)
抱歉Urban,给了你一个屁股 - 我以前看过这个,我可以通过编程方式限制地图大小的唯一方法,但是,我已经用这种类型的布局完成了它:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<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="dgvbdj_my_secret_key_nvc8mxcksos"/>
</FrameLayout>
<co.uk.mycompany.ui.MapNavBar
android:id="@+id/map_nav"
android:layout_width="fill_parent"
android:layout_height="70dip"
android:layout_gravity="bottom"
android:layout_weight="0.3" />
显示的最后一项是自定义小部件,但布局应显示所涉及的原则。这限制了地图高度,但允许它达到全宽。