2016-09-01 3 views
0

ボタンがマップをカバーしないようにするには、他のボタンのリストを表示するボタンを作成するにはどうすればよいですか?私は親切に私のactivity_maps.xmlがある。ここ マップの他のボタンを表示するボタンを作成する

は私の.javaファイルここ

import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.BitmapDescriptorFactory; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

private GoogleMap mMap; 

final Button button1 = (Button) findViewById(R.id.buttonMaps); 
final Button button2 = (Button)findViewById(R.id.buttonMaps2); 
final Button button3 = (Button)findViewById(R.id.buttonMaps3); 

@Override 
protected void onCreate(Bundle savedinstancestate) { 
super.onCreate(savedinstancestate); 
setContentView(R.layout.activity_maps); 

button1.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 

     mMap.clear(); 
     if (button1.isShown()) { 

      mMap.addMarker(new MarkerOptions().position(new LatLng(,)).title("").snippet("My Location").icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher))); 

{ 
     @Override 
public void onClick(View v) { 

        mMap.clear(); 
        if (button2.isShown()) { 

         mMap.addMarker(new MarkerOptions().position(new LatLng()).title("").icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher_hospital))); 
                   mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(),)); 

         button3.setOnClickListener(new View.OnClickListener() { 
          @Override 
          public void onClick(View v) { 

           mMap.clear(); 
           if (button3.isShown()) { 

            mMap.addMarker(new  MarkerOptions().position(new LatLng(`enter code here`)).title("  ").icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher_busstop)) ); 
                  mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(),)); 

           } 

          } 

         }); 
        } 
       } 
      }); 
     } 
    } 
}); 
} 
// Obtain the SupportMapFragment and get notified when the map is ready to be used. 
SupportMapFragment mapFragment = (SupportMapFragment)  getSupportFragmentManager() 
    .findFragmentById(R.id.map); 
mapFragment.getMapAsync(this); 

/** 
* Manipulates the map once available. 
    * This callback is triggered when the map is ready to be used. 
* This is where we can add markers or lines, add listeners or move the  camera. In this case, 
    * we just add a marker near Sydney, Australia. 
* If Google Play services is not installed on the device, the user will be prompted to install 
* it inside the SupportMapFragment. This method will only be triggered once the user has 
* installed Google Play services and returned to the app. 
    */ 
@Override 
public void onMapReady(GoogleMap googleMap) { 
mMap = googleMap; 
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng (    ),)); 
} 
} 

です助けてください、私の地図の断片に他のボタンを表示しますボタンを作成したいと思います

<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=".MapsActivity" 
    tools:layout="@android:layout/simple_spinner_dropdown_item" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:text="text1" 
    android:padding="8dp" 
    android:background="#53fed0" 
    android:id="@+id/buttonMaps" 
    android:layout_marginLeft="90dp" 
    android:layout_marginStart="90dp" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="text2" 
    android:id="@+id/buttonMaps2" 
    android:layout_marginTop="35dp" 
    android:layout_below="@+id/buttonMaps" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:clickable="true" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Bus Stops" 
    android:id="@+id/buttonMaps3" 
    android:layout_below="@+id/buttonMaps2" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginTop="35dp" 
    android:clickable="true"/> 
</RelativeLayout> 
+1

このhttps://github.com/fafaldo/FABToolbarを試してください。これはあなたを助けるかもしれません –

答えて

0

最高あなたの問題を解決する方法は、フローティングアクションボタン(FAB)を使用することです。したがって、FABは最上位レイヤのマップの上にとどまります。ユーザーがFABをクリックすると、より多くのオプションが開きます。それを行うライブラリはほとんどありません。オプションについては以下をご覧ください。

fab-speed-dial

FABToolbar

FabricView

あなたはどんなより多くの情報が必要なら、私に教えてください。

関連する問題