diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java index 1c100c6e9..2b0aa74c2 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java +++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java @@ -127,11 +127,13 @@ public class MapView extends FrameLayout implements LocationListener { private static final String STATE_LOGO_MARGIN_TOP = "logoMarginTop"; private static final String STATE_LOGO_MARGIN_RIGHT = "logoMarginRight"; private static final String STATE_LOGO_MARGIN_BOTTOM = "logoMarginBottom"; + private static final String STATE_LOGO_VISIBILITY = "logoVisibility"; private static final String STATE_ATTRIBUTION_GRAVITY = "attrGravity"; private static final String STATE_ATTRIBUTION_MARGIN_LEFT = "attrMarginLeft"; private static final String STATE_ATTRIBUTION_MARGIN_TOP = "attrMarginTop"; private static final String STATE_ATTRIBUTION_MARGIN_RIGHT = "attrMarginRight"; private static final String STATE_ATTRIBUTION_MARGIN_BOTTOM = "atrrMarginBottom"; + private static final String STATE_ATTRIBUTION_VISIBILITY = "atrrVisibility"; // Used for positioning views private static final float DIMENSION_SEVEN_DP = 7f; @@ -558,6 +560,7 @@ public class MapView extends FrameLayout implements LocationListener { , typedArray.getDimension(R.styleable.MapView_compassMarginBottom, DIMENSION_TEN_DP)); // Logo + setLogoVisibility(typedArray.getInt(R.styleable.MapView_logoVisibility, VISIBLE)); setLogoGravity(typedArray.getInt(R.styleable.MapView_logoGravity, Gravity.BOTTOM | Gravity.START)); setWidgetMargins(mLogoView, typedArray.getDimension(R.styleable.MapView_logoMarginLeft, DIMENSION_SIXTEEN_DP) , typedArray.getDimension(R.styleable.MapView_logoMarginTop, DIMENSION_SIXTEEN_DP) @@ -565,6 +568,7 @@ public class MapView extends FrameLayout implements LocationListener { , typedArray.getDimension(R.styleable.MapView_logoMarginBottom, DIMENSION_SIXTEEN_DP)); // Attribution + setAttributionVisibility(typedArray.getInt(R.styleable.MapView_attributionVisibility, VISIBLE)); setAttributionGravity(typedArray.getInt(R.styleable.MapView_attributionGravity, Gravity.BOTTOM)); setWidgetMargins(mAttributionsView, typedArray.getDimension(R.styleable.MapView_attributionMarginLeft, DIMENSION_SEVENTYSIX_DP) , typedArray.getDimension(R.styleable.MapView_attributionMarginTop, DIMENSION_SEVEN_DP) @@ -619,6 +623,7 @@ public class MapView extends FrameLayout implements LocationListener { , savedInstanceState.getInt(STATE_COMPASS_MARGIN_BOTTOM)); // Logo + setLogoVisibility(savedInstanceState.getInt(STATE_LOGO_VISIBILITY)); setLogoGravity(savedInstanceState.getInt(STATE_LOGO_GRAVITY)); setLogoMargins(savedInstanceState.getInt(STATE_LOGO_MARGIN_LEFT) , savedInstanceState.getInt(STATE_LOGO_MARGIN_TOP) @@ -626,6 +631,7 @@ public class MapView extends FrameLayout implements LocationListener { , savedInstanceState.getInt(STATE_LOGO_MARGIN_BOTTOM)); // Attribution + setAttributionVisibility(savedInstanceState.getInt(STATE_ATTRIBUTION_VISIBILITY)); setAttributionGravity(savedInstanceState.getInt(STATE_ATTRIBUTION_GRAVITY)); setAttributionMargins(savedInstanceState.getInt(STATE_ATTRIBUTION_MARGIN_LEFT) , savedInstanceState.getInt(STATE_ATTRIBUTION_MARGIN_TOP) @@ -694,6 +700,7 @@ public class MapView extends FrameLayout implements LocationListener { outState.putInt(STATE_LOGO_MARGIN_TOP, logoParams.topMargin); outState.putInt(STATE_LOGO_MARGIN_RIGHT, logoParams.rightMargin); outState.putInt(STATE_LOGO_MARGIN_BOTTOM, logoParams.bottomMargin); + outState.putInt(STATE_LOGO_VISIBILITY, mLogoView.getVisibility()); // Attribution LayoutParams attrParams = (LayoutParams) mAttributionsView.getLayoutParams(); @@ -702,6 +709,7 @@ public class MapView extends FrameLayout implements LocationListener { outState.putInt(STATE_ATTRIBUTION_MARGIN_TOP, attrParams.topMargin); outState.putInt(STATE_ATTRIBUTION_MARGIN_RIGHT, attrParams.rightMargin); outState.putInt(STATE_ATTRIBUTION_MARGIN_BOTTOM, attrParams.bottomMargin); + outState.putInt(STATE_ATTRIBUTION_VISIBILITY, mAttributionsView.getVisibility()); } /** @@ -2332,6 +2340,10 @@ public class MapView extends FrameLayout implements LocationListener { setWidgetMargins(mLogoView, left, top, right, bottom); } + public void setLogoVisibility(int visibility) { + mLogoView.setVisibility(visibility); + } + public void setAttributionGravity(int gravity) { setWidgetGravity(mAttributionsView, gravity); } @@ -2340,6 +2352,10 @@ public class MapView extends FrameLayout implements LocationListener { setWidgetMargins(mAttributionsView, left, top, right, bottom); } + public void setAttributionVisibility(int visibility){ + mAttributionsView.setVisibility(visibility); + } + private void setWidgetGravity(@NonNull final View view, int gravity) { LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); layoutParams.gravity = gravity; @@ -2395,4 +2411,4 @@ public class MapView extends FrameLayout implements LocationListener { context.startActivity(intent); } } -} +} \ No newline at end of file diff --git a/android/java/MapboxGLAndroidSDK/src/main/res/values/attrs.xml b/android/java/MapboxGLAndroidSDK/src/main/res/values/attrs.xml index 901044375..2eae497b7 100644 --- a/android/java/MapboxGLAndroidSDK/src/main/res/values/attrs.xml +++ b/android/java/MapboxGLAndroidSDK/src/main/res/values/attrs.xml @@ -53,6 +53,7 @@ + @@ -73,5 +74,6 @@ +