API v2を使用してAndroidで地図を表示しようとしています。
UIには次のようなものが必要ですが、いつでも出力に反映されないレイアウトにボタンを追加しようとします
ボタンなしでマップを取得できます。
以下のようにマップと統合するボタンが必要です
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>
おそらくより簡単な解決策は、FrameLayout
またはRelativeLayout
を使用してマップの前にオーバーレイを設定し、アクティビティの通常のボタンとして扱うことです。ボタンをマップする前に、前から後ろの順にレイヤーを宣言する必要があります。レイアウトを変更し、少し簡略化しました。以下のレイアウトを試して、それがあなたのために働くかどうか確かめてください:
<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 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>
de Almeidaの答えを拡張しますここでコードを少し編集しています。以前のコードは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" />
以下のコードを使用して、ボタンを左側に変更できます。
<fragment 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:id="@+id/map"
Android:name="com.google.Android.gms.maps.SupportMapFragment"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context="com.zakasoft.mymap.MapsActivity" >
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="left|top"
Android:text="Send"
Android:padding="10dp"
Android:layout_marginTop="20dp"
Android:paddingRight="10dp"/>
</fragment>