summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2016-08-12 12:22:20 -0400
committerTobrun <tobrun.van.nuland@gmail.com>2016-08-12 22:19:28 -0400
commit834ff765c0dd393bcdc3609e392adf9a88d18cff (patch)
treed928173b5510d6031311a7bb78499e17bb72dc39 /platform
parentd4271d993ee751e736dc21a4ccfd6f93319ff374 (diff)
downloadqtlocation-mapboxgl-834ff765c0dd393bcdc3609e392adf9a88d18cff.tar.gz
[android] #5968 - add support for a layout editor preview, show a drawable and some overlain items
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java20
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapview_preview.pngbin0 -> 1071179 bytes
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_preview.xml41
3 files changed, 52 insertions, 9 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index b17350f4f4..1c2f8e59c5 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -185,25 +185,23 @@ public class MapView extends FrameLayout {
}
private void initialize(@NonNull Context context, @NonNull MapboxMapOptions options) {
+ if (isInEditMode()) {
+ // if we are in an editor mode we show an image of a map
+ LayoutInflater.from(context).inflate(R.layout.mapview_preview, this);
+ return;
+ }
+
mInitialLoad = true;
mOnMapReadyCallbackList = new ArrayList<>();
mOnMapChangedListener = new CopyOnWriteArrayList<>();
mMapboxMap = new MapboxMap(this);
mIcons = new ArrayList<>();
View view = LayoutInflater.from(context).inflate(R.layout.mapview_internal, this);
-
- if (!isInEditMode()) {
- setWillNotDraw(false);
- }
+ setWillNotDraw(false);
// Reference the TextureView
SurfaceView surfaceView = (SurfaceView) view.findViewById(R.id.surfaceView);
- // Check if we are in Android Studio UI editor to avoid error in layout preview
- if (isInEditMode()) {
- return;
- }
-
mNativeMapView = new NativeMapView(this);
// Ensure this view is interactable
@@ -1506,6 +1504,10 @@ public class MapView extends FrameLayout {
// Called when view is hidden and shown
@Override
protected void onVisibilityChanged(@NonNull View changedView, int visibility) {
+ if (isInEditMode()) {
+ return;
+ }
+
// Required by ZoomButtonController (from Android SDK documentation)
if (mMapboxMap.getUiSettings().isZoomControlsEnabled() && (visibility != View.VISIBLE)) {
mZoomButtonsController.setVisible(false);
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapview_preview.png b/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapview_preview.png
new file mode 100644
index 0000000000..27763f4c86
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapview_preview.png
Binary files differ
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_preview.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_preview.xml
new file mode 100644
index 0000000000..d8f2193fd5
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_preview.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scaleType="centerCrop"
+ android:src="@drawable/mapview_preview" />
+
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentLeft="true"
+ android:layout_marginBottom="@dimen/eight_dp"
+ android:layout_marginLeft="@dimen/eight_dp"
+ android:contentDescription="@string/mapboxIconContentDescription"
+ android:src="@drawable/attribution_logo" />
+
+ <ImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_marginBottom="@dimen/seven_dp"
+ android:layout_marginLeft="@dimen/seventy_six_dp"
+ android:background="@drawable/bg_default_selector"
+ android:clickable="true"
+ android:contentDescription="@string/attributionsIconContentDescription"
+ android:src="@drawable/ic_info_outline_24dp_selector" />
+
+ <ImageView
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:layout_alignParentRight="true"
+ android:layout_margin="10dp"
+ android:src="@drawable/compass" />
+
+</RelativeLayout> \ No newline at end of file