[android] - RTL support

This commit is contained in:
Tobrun
2018-01-04 13:40:34 +01:00
committed by Tobrun
parent aa158bb20c
commit 5f8b61351f
3 changed files with 12 additions and 4 deletions

View File

@@ -55,7 +55,7 @@ public class MapboxMapOptions implements Parcelable {
@ColorInt
private int attributionTintColor = UNDEFINED_COLOR;
private boolean attributionEnabled = true;
private int attributionGravity = Gravity.BOTTOM;
private int attributionGravity = Gravity.BOTTOM | Gravity.START;
private int[] attributionMargins;
private double minZoom = MapboxConstants.MINIMUM_ZOOM;
@@ -234,7 +234,7 @@ public class MapboxMapOptions implements Parcelable {
mapboxMapOptions.attributionEnabled(typedArray.getBoolean(
R.styleable.mapbox_MapView_mapbox_uiAttribution, true));
mapboxMapOptions.attributionGravity(typedArray.getInt(
R.styleable.mapbox_MapView_mapbox_uiAttributionGravity, Gravity.BOTTOM));
R.styleable.mapbox_MapView_mapbox_uiAttributionGravity, Gravity.BOTTOM | Gravity.START));
mapboxMapOptions.attributionMargins(new int[] {
(int) (typedArray.getDimension(R.styleable.mapbox_MapView_mapbox_uiAttributionMarginLeft,
NINETY_TWO_DP * pxlRatio)),

View File

@@ -6,6 +6,7 @@ import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;
@@ -925,7 +926,7 @@ public final class UiSettings {
initMargins[2] = right;
initMargins[3] = bottom;
// convert inital margins with padding
// convert initial margins with padding
int[] contentPadding = projection.getContentPadding();
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) view.getLayoutParams();
left += contentPadding[0];
@@ -933,6 +934,13 @@ public final class UiSettings {
right += contentPadding[2];
bottom += contentPadding[3];
layoutParams.setMargins(left, top, right, bottom);
// support RTL
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
layoutParams.setMarginStart(left);
layoutParams.setMarginEnd(right);
}
view.setLayoutParams(layoutParams);
}
}

View File

@@ -91,7 +91,7 @@ public class MapboxMapOptionsTest {
@Test
public void testAttributionGravity() {
assertEquals(Gravity.BOTTOM, new MapboxMapOptions().getAttributionGravity());
assertEquals(Gravity.BOTTOM | Gravity.START, new MapboxMapOptions().getAttributionGravity());
assertEquals(Gravity.BOTTOM, new MapboxMapOptions().attributionGravity(Gravity.BOTTOM).getAttributionGravity());
assertNotEquals(Gravity.START, new MapboxMapOptions().attributionGravity(Gravity.BOTTOM).getAttributionGravity());
}