如何在Android中的谷歌地图下方放置两个对齐的按钮

时间:2015-01-28 01:42:39

标签: android xml google-maps button

如何在Android中的谷歌地图下方放置两个按钮?

我在下面使用此代码它工作正常,但问题是地图也在按钮后面。我想在按钮上方设置地图的高度。我将如何重新调整地图的大小,并将地图的底部放在两个按钮上方,从中心分配出来?

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >

<fragment
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:layout_alignParentRight="true"
  android:layout_below="@+id/editText1"
  class="com.google.android.gms.maps.SupportMapFragment" />

<Button
  android:id="@+id/button1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignBottom="@+id/editText1"
  android:layout_alignParentRight="true"
  android:layout_alignParentTop="true"
  android:text="Button" />

<EditText
  android:id="@+id/editText1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentLeft="true"
  android:layout_alignParentTop="true"
  android:layout_toLeftOf="@+id/button1"
  android:ems="10" >
  <requestFocus />
  </EditText>

<Button
 android:id="@+id/maptype"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentBottom="true"
 android:layout_alignParentRight="true"
 android:layout_alignTop="@+id/hello"
 android:layout_toRightOf="@+id/view"
 android:text="First" />
<View
    android:id="@+id/view"
    android:layout_width="0dp"
    android:layout_height="1dp"
    android:layout_centerHorizontal="true" />
<Button
    android:id="@+id/hello"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignRight="@+id/view"
    android:layout_alignTop="@+id/map"
    android:layout_marginTop="346dp"
    android:text="Second" />
</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

尝试将地图片段的layout_height设置为0dp,将layout_weight设置为1。 这对我来说很好!之前,地图下面的一切都是看不见的。 此链接可能有用: Create buttons below google map

答案 1 :(得分:1)

而不是android:layout_alignTop="@+id/map"中的@+id/hello button,而是在片段中尝试android:layout_above="@+id/maptype"。 请注意,我必须删除片段中的类并为其添加android:名称

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >

<fragment
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:name="com.google.android.gms.maps.MapFragment"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_above="@+id/maptype"
    android:layout_below="@+id/editText1"
    />
    <!--class="com.google.android.gms.maps.SupportMapFragment" />-->

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/editText1"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="Button" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/button1"
    android:ems="10" >
    <requestFocus />
</EditText>

<Button
    android:id="@+id/maptype"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/hello"
    android:layout_toRightOf="@+id/view"
    android:text="First" />
<View
    android:id="@+id/view"
    android:layout_width="0dp"
    android:layout_height="1dp"
    android:layout_centerHorizontal="true" />
<Button
    android:id="@+id/hello"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignRight="@+id/view"
    android:layout_marginTop="346dp"
    android:text="Second"
    />
    <!--android:layout_alignTop="@+id/map"-->

</RelativeLayout>

编辑:完整XML的链接: https://gist.github.com/anonymous/75c66e9b4266d45d6b62#file-gistfile1-txt