From bfb44846c012018b27e81a09642eac9f9655a996 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Mon, 10 Aug 2015 17:32:26 -0500 Subject: [PATCH] #1856 - Adding Location FAB to TestApp with color toggle to show state --- .../mapbox/mapboxgl/testapp/MainActivity.java | 37 +++++++------------ .../src/main/res/layout/activity_main.xml | 17 ++++----- 2 files changed, 22 insertions(+), 32 deletions(-) diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java index 8fbd17d2d..5d36a98cd 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java @@ -4,6 +4,7 @@ import android.graphics.Color; import android.graphics.PointF; import android.os.Bundle; import android.support.annotation.NonNull; +import android.support.design.widget.FloatingActionButton; import android.support.design.widget.NavigationView; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; @@ -62,7 +63,7 @@ public class MainActivity extends AppCompatActivity { private ArrayAdapter mSatelliteClassAdapter; // Used for GPS - private MenuItem mGpsMenuItem; + private FloatingActionButton locationFAB; // Used for Annotations private boolean mIsAnnotationsOn = false; @@ -143,6 +144,16 @@ public class MainActivity extends AppCompatActivity { mMapFrameLayout = (FrameLayout) findViewById(R.id.layout_map); + locationFAB = (FloatingActionButton)findViewById(R.id.locationFAB); + locationFAB.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // Toggle GPS position updates + toggleGps(!mapView.isMyLocationEnabled()); + updateMap(); + } + }); + /* // Add the spinner to select class styles mClassSpinner = (Spinner) findViewById(R.id.spinner_class); @@ -220,22 +231,6 @@ public class MainActivity extends AppCompatActivity { // Other events // -/* - // Adds items to the action bar menu - @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.menu_main, menu); - mGpsMenuItem = menu.findItem(R.id.action_gps); - if (mapView.isMyLocationEnabled()) { - mGpsMenuItem.setIcon(R.drawable.ic_action_location_found); - } else { - mGpsMenuItem.setIcon(R.drawable.ic_action_location_searching); - } - return super.onCreateOptionsMenu(menu); - } -*/ - // Called when pressing action bar items @Override public boolean onOptionsItemSelected(MenuItem item) { @@ -340,16 +335,12 @@ public class MainActivity extends AppCompatActivity { if (enableGps) { if (!mapView.isMyLocationEnabled()) { mapView.setMyLocationEnabled(enableGps); - if (mGpsMenuItem != null) { - mGpsMenuItem.setIcon(R.drawable.ic_action_location_found); - } + locationFAB.setColorFilter(getResources().getColor(R.color.primary)); } } else { if (mapView.isMyLocationEnabled()) { mapView.setMyLocationEnabled(enableGps); - if (mGpsMenuItem != null) { - mGpsMenuItem.setIcon(R.drawable.ic_action_location_searching); - } + locationFAB.setColorFilter(Color.TRANSPARENT); } } } diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml index 616e5fe1d..19647d20f 100644 --- a/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml +++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_main.xml @@ -65,15 +65,14 @@ - +