diff options
Diffstat (limited to 'platform')
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 Binary files differnew file mode 100644 index 0000000000..27763f4c86 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDK/src/main/res/drawable-xxhdpi/mapview_preview.png 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 |