web-dev-qa-db-fra.com

Comment ajouter des boutons en haut de la disposition de l'API v2 de fragment de carte

J'essaie de montrer des cartes dans Android en utilisant API v2.
Je veux quelque chose comme ça à l’interface utilisateur.Mais quand J'essaie d’ajouter un bouton dans la présentation il ne se reflète pas dans la sortie
Je peux obtenir des cartes sans boutons.
J'ai besoin de boutons pour intégrer la carte comme ci-dessous
code pour 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>

Maps with Button

62
sandeep_jagtap

Une solution plus simple consiste peut-être à définir une superposition devant votre carte à l'aide de FrameLayout ou RelativeLayout et à les traiter comme des boutons normaux de votre activité. Vous devez déclarer vos couches dans l'ordre inverse, par exemple, les boutons Carte avant. J'ai modifié votre mise en page, simplifiée un peu. Essayez la mise en page suivante et voyez si cela fonctionne pour vous:

<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>
93
Vítor de Almeida

Button Above The Map

Si c'est ce que vous voulez ... ajoutez simplement un bouton à l'intérieur du fragment.

<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>
53
katwal-Dipak

étendant la réponse de Almeida, je modifie un peu le code ici. étant donné que le code précédent cachait l’icône de localisation GPS, j’ai suivi le chemin qui a mieux fonctionné.

 <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" />
3
sandeep_jagtap

Vous pouvez utiliser le code ci-dessous pour changer le bouton sur le côté gauche.

<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>
0