diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2015-12-11 18:15:40 -0800 |
---|---|---|
committer | Tobrun <tobrun.van.nuland@gmail.com> | 2015-12-12 09:12:21 -0800 |
commit | cc6169154f41880a9d0cf8cffea4a0aaf032d73a (patch) | |
tree | 66104527a39542bbd49598c76436a9832100eab9 /android | |
parent | 7117ec503233bad1aaf4f82c57b184f4e73c3b56 (diff) | |
download | qtlocation-mapboxgl-cc6169154f41880a9d0cf8cffea4a0aaf032d73a.tar.gz |
[android] #3270 - add sample activity for animated coordinate change
Diffstat (limited to 'android')
10 files changed, 212 insertions, 3 deletions
diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml b/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml index de5f3a2aa5..44ebc8c949 100644 --- a/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml +++ b/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml @@ -56,6 +56,9 @@ <activity android:name=".PolylineActivity" android:label="@string/activity_polyline" /> + <activity + android:name=".CoordinateChangeActivity" + android:label="@string/activity_animate_coordinate_change" /> <meta-data android:name="io.fabric.ApiKey" diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/CoordinateChangeActivity.java b/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/CoordinateChangeActivity.java new file mode 100644 index 0000000000..8fba65a7cf --- /dev/null +++ b/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/CoordinateChangeActivity.java @@ -0,0 +1,113 @@ +package com.mapbox.mapboxsdk.testapp; + +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.v4.content.ContextCompat; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.MenuItem; +import android.view.View; + +import com.mapbox.mapboxsdk.constants.Style; +import com.mapbox.mapboxsdk.geometry.LatLng; +import com.mapbox.mapboxsdk.geometry.LatLngZoom; +import com.mapbox.mapboxsdk.utils.ApiAccess; +import com.mapbox.mapboxsdk.views.MapView; + +public class CoordinateChangeActivity extends AppCompatActivity { + + private MapView mMapView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_animate_coordinate); + + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setDisplayShowHomeEnabled(true); + } + + mMapView = (MapView) findViewById(R.id.mapView); + mMapView.setTag(true); + mMapView.setAccessToken(ApiAccess.getToken(this)); + mMapView.onCreate(savedInstanceState); + mMapView.setStyle(Style.MAPBOX_STREETS); + mMapView.setCenterCoordinate(new LatLngZoom(38.87031, -77.00897, 16)); + mMapView.setCompassEnabled(false); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setColorFilter(ContextCompat.getColor(this, R.color.primary)); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + mMapView.setCenterCoordinate(getCoordinate(), true); + } + }); + } + + private LatLng getCoordinate() { + boolean first = (boolean) mMapView.getTag(); + mMapView.setTag(!first); + return first ? new LatLng(38.87000, -77.00800) : new LatLng(38.87031, -77.00897); + } + + @Override + protected void onStart() { + super.onStart(); + mMapView.onStart(); + } + + @Override + public void onResume() { + super.onResume(); + mMapView.onResume(); + } + + @Override + public void onPause() { + super.onPause(); + mMapView.onPause(); + } + + @Override + protected void onStop() { + super.onStop(); + mMapView.onStop(); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + mMapView.onSaveInstanceState(outState); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + mMapView.onDestroy(); + } + + @Override + public void onLowMemory() { + super.onLowMemory(); + mMapView.onLowMemory(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + return true; + default: + return super.onOptionsItemSelected(item); + } + } + +}
\ No newline at end of file diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java b/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java index 711fec1390..c303d94cdc 100644 --- a/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java +++ b/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/MainActivity.java @@ -356,6 +356,10 @@ public class MainActivity extends AppCompatActivity { startActivity(new Intent(getApplicationContext(), ManualZoomActivity.class)); return true; + case R.id.action_coordinate_change: + startActivity(new Intent(getApplicationContext(), CoordinateChangeActivity.class)); + return true; + case R.id.action_bulk_markers: startActivity(new Intent(getApplicationContext(), BulkMarkerActivity.class)); return true; diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_animate_coordinates.xml b/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_animate_coordinates.xml new file mode 100644 index 0000000000..564e1235e5 --- /dev/null +++ b/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_animate_coordinates.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path + android:fillColor="#FFFFFF" + android:pathData="M17,6c-3.31,0 -6,2.69 -6,6s2.69,6 6,6 6,-2.69 6,-6 -2.69,-6 -6,-6zM5,8c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4 -1.79,-4 -4,-4zm0,6c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z" /> +</vector> diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_infowindow_adapter.xml b/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_infowindow_adapter.xml new file mode 100644 index 0000000000..0d4c724aa9 --- /dev/null +++ b/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_infowindow_adapter.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path + android:fillColor="#FFFFFF" + android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z" /> +</vector> diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_infowindow_concurrent.xml b/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_infowindow_concurrent.xml new file mode 100644 index 0000000000..9b16b15571 --- /dev/null +++ b/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_infowindow_concurrent.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path + android:fillColor="#FFFFFF" + android:pathData="M3,5H1v16c0,1.1 0.9,2 2,2h16v-2H3V5zm18,-4H7c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-2 -2,-2zm0,16H7V3h14v14z" /> +</vector> diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_tilt.xml b/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_tilt.xml new file mode 100644 index 0000000000..d5c67efbb7 --- /dev/null +++ b/android/MapboxGLAndroidSDKTestApp/src/main/res/drawable/ic_tilt.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0"> + <path + android:fillColor="#FFFFFF" + android:pathData="M7.77,6.76L6.23,5.48 0.82,12l5.41,6.52 1.54,-1.28L3.42,12l4.35,-5.24zM7,13h2v-2H7v2zm10,-2h-2v2h2v-2zm-6,2h2v-2h-2v2zm6.77,-7.52l-1.54,1.28L20.58,12l-4.35,5.24 1.54,1.28L23.18,12l-5.41,-6.52z" /> +</vector> diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_animate_coordinate.xml b/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_animate_coordinate.xml new file mode 100644 index 0000000000..7d1929edc7 --- /dev/null +++ b/android/MapboxGLAndroidSDKTestApp/src/main/res/layout/activity_animate_coordinate.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <android.support.v7.widget.Toolbar + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:background="@color/primary" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> + + <FrameLayout + android:id="@+id/content_frame" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_below="@+id/toolbar"> + + <android.support.design.widget.CoordinatorLayout + android:id="@+id/coordinator_layout" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <com.mapbox.mapboxsdk.views.MapView + android:id="@+id/mapView" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + + <android.support.design.widget.FloatingActionButton + android:id="@+id/fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_margin="@dimen/fab_margin" + android:src="@drawable/ic_animate_coordinates" + app:backgroundTint="@color/white" /> + + </android.support.design.widget.CoordinatorLayout> + + </FrameLayout> + +</RelativeLayout> + + diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml b/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml index f8bf152a5d..bfd70a936f 100644 --- a/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml +++ b/android/MapboxGLAndroidSDKTestApp/src/main/res/menu/menu_drawer.xml @@ -69,7 +69,7 @@ <item android:id="@+id/action_tilt" android:checkable="false" - android:icon="@drawable/ic_flip_to_back_24dp" + android:icon="@drawable/ic_tilt" android:title="@string/action_tilt" /> <item @@ -87,13 +87,13 @@ <item android:id="@+id/action_info_window_concurrent" android:checkable="false" - android:icon="@drawable/ic_flip_to_front_24dp" + android:icon="@drawable/ic_flip_to_back_24dp" android:title="@string/action_info_window_concurrent" /> <item android:id="@+id/action_info_window_adapter" android:checkable="false" - android:icon="@drawable/ic_flip_to_back_24dp" + android:icon="@drawable/ic_infowindow_adapter" android:title="@string/action_info_window_adapter" /> <item @@ -109,6 +109,12 @@ android:title="@string/action_manual_zoom" /> <item + android:id="@+id/action_coordinate_change" + android:checkable="false" + android:icon="@drawable/ic_animate_coordinates" + android:title="@string/action_animate_coordinate_change" /> + + <item android:id="@+id/action_visible_bounds" android:checkable="false" android:icon="@drawable/ic_crop_24dp" diff --git a/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml index 2ac09d96b6..8cc299e39f 100644 --- a/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml +++ b/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml @@ -15,6 +15,7 @@ <string name="activity_visible_coordinate_bounds">Visible Coordinate Bounds</string> <string name="activity_user_tracking_mode">User tracking mode</string> <string name="activity_polyline">Polyline Activity</string> + <string name="activity_animate_coordinate_change">Animate Coordinate Change</string> <string name="navdrawer_menu_title_mainactivity_controls">Main Activity Controls</string> <string name="navdrawer_menu_title_mainactivity_styles">Main Activity Styles</string> @@ -30,6 +31,7 @@ <string name="action_press_for_marker">Press For Marker</string> <string name="action_manual_zoom">Manual Zoom</string> <string name="action_info_window">InfoWindow</string> + <string name="action_animate_coordinate_change">Animate Coordinate Change</string> <string name="action_info_window_concurrent">InfoWindow (Concurrent)</string> <string name="action_add_bulk_markers">Add Markers in bulk</string> <string name="action_visible_bounds">Set Visible Bounds</string> |