diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2016-08-12 12:22:20 -0400 |
---|---|---|
committer | Tobrun <tobrun.van.nuland@gmail.com> | 2016-08-12 22:19:28 -0400 |
commit | 834ff765c0dd393bcdc3609e392adf9a88d18cff (patch) | |
tree | d928173b5510d6031311a7bb78499e17bb72dc39 /platform/android | |
parent | d4271d993ee751e736dc21a4ccfd6f93319ff374 (diff) | |
download | qtlocation-mapboxgl-834ff765c0dd393bcdc3609e392adf9a88d18cff.tar.gz |
[android] #5968 - add support for a layout editor preview, show a drawable and some overlain items
Diffstat (limited to 'platform/android')
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 |