如何在地图片段API v2布局顶部添加button

我正在尝试使用API​​ v2在android中显示地图。
我想要一些像这样的UI。但是每当我尝试在布局中添加button时,它都不会反映在输出中
我能够得到没有button的地图
我需要button来整合像下面的地图
代码为Mylayout.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MapActivity" > <RelativeLayout android:layout_width="match_parent" android:layout_height="48dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioGroup android:id="@+id/radio_group_list_selector" android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="center_horizontal|center_vertical" android:gravity="center_horizontal" android:orientation="horizontal" android:layout_weight="1" > <RadioButton android:id="@+id/radioPopular" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/Popular" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton" android:layout_marginBottom="4dp" android:layout_marginTop="4dp" android:layout_marginLeft="4dp" android:textColor="@drawable/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_marginBottom="4dip" android:layout_marginTop="4dip" android:background="#aaa" /> <RadioButton android:id="@+id/radioAZ" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/AZ" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton2" android:layout_marginBottom="4dp" android:layout_marginTop="4dp" android:textColor="@drawable/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_marginBottom="4dip" android:layout_marginTop="4dip" android:background="#aaa" /> <RadioButton android:id="@+id/radioCategory" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/Category" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton2" android:layout_marginBottom="4dp" android:layout_marginTop="4dp" android:textColor="@drawable/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_marginBottom="4dip" android:layout_marginTop="4dip" android:background="#aaa" /> <RadioButton android:id="@+id/radioNearBy" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/NearBy" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton3" android:layout_marginBottom="4dp" android:layout_marginTop="4dp" android:layout_marginRight="4dp" android:textColor="@drawable/textcolor_radiobutton" /> </RadioGroup> </LinearLayout> <!-- For Horizontal Line--> <View android:layout_width="match_parent" android:layout_height="1dip" android:layout_marginLeft="4dip" android:layout_marginRight="4dip" android:background="#aaa" android:layout_alignParentBottom="true"/> </RelativeLayout> <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:map="http://schemas.android.com/apk/res-auto" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:scrollbars="vertical" class="com.google.android.gms.maps.SupportMapFragment"/> </RelativeLayout> 

带有按钮的地图

也许一个更简单的解决scheme是使用FrameLayoutRelativeLayout在你的地图前面设置一个叠加层,并把它们当作你的活动中的常规button。 您应该按照前面的顺序声明图层,例如button之前的地图。 我修改了你的布局,简化了一下。 尝试以下布局,看看它是否适合你:

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MapActivity" > <fragment xmlns:map="http://schemas.android.com/apk/res-auto" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:scrollbars="vertical" class="com.google.android.gms.maps.SupportMapFragment"/> <RadioGroup android:id="@+id/radio_group_list_selector" android:layout_width="match_parent" android:layout_height="48dp" android:orientation="horizontal" android:background="#80000000" android:padding="4dp" > <RadioButton android:id="@+id/radioPopular" android:layout_width="0dp" android:layout_height="match_parent" android:text="@string/Popular" android:gravity="center_horizontal|center_vertical" android:layout_weight="1" android:background="@drawable/shape_radiobutton" android:textColor="@color/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="match_parent" android:background="#aaa" /> <RadioButton android:id="@+id/radioAZ" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/AZ" android:layout_weight="1" android:background="@drawable/shape_radiobutton2" android:textColor="@color/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="match_parent" android:background="#aaa" /> <RadioButton android:id="@+id/radioCategory" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/Category" android:layout_weight="1" android:background="@drawable/shape_radiobutton2" android:textColor="@color/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="match_parent" android:background="#aaa" /> <RadioButton android:id="@+id/radioNearBy" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/NearBy" android:layout_weight="1" android:background="@drawable/shape_radiobutton3" android:textColor="@color/textcolor_radiobutton" /> </RadioGroup> </FrameLayout> 

在地图上的按钮

如果这是你想要的…只需在Fragment中添加button。

 <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.LocationChooser"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|top" android:text="Demo Button" android:padding="10dp" android:layout_marginTop="20dp" android:paddingRight="10dp"/> </fragment> 

延长德阿尔梅达的答案我在这里编辑代码一点点。 因为以前的代码是隐藏GPS位置图标,我做了以下的方式,更好地工作。

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <RadioGroup android:id="@+id/radio_group_list_selector" android:layout_width="match_parent" android:layout_height="48dp" android:orientation="horizontal" android:background="#80000000" android:padding="4dp" > <RadioButton android:id="@+id/radioPopular" android:layout_width="0dp" android:layout_height="match_parent" android:text="@string/Popular" android:gravity="center_horizontal|center_vertical" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton" android:textColor="@drawable/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="match_parent" android:background="#aaa" /> <RadioButton android:id="@+id/radioAZ" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/AZ" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton2" android:textColor="@drawable/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="match_parent" android:background="#aaa" /> <RadioButton android:id="@+id/radioCategory" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/Category" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton2" android:textColor="@drawable/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="match_parent" android:background="#aaa" /> <RadioButton android:id="@+id/radioNearBy" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/NearBy" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton3" android:textColor="@drawable/textcolor_radiobutton" /> </RadioGroup> <fragment xmlns:map="http://schemas.android.com/apk/res-auto" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment" android:scrollbars="vertical" />