respect system settings
This commit is contained in:
parent
686d94d908
commit
1d963e9f17
2 changed files with 14 additions and 10 deletions
|
@ -4,6 +4,7 @@ import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
|
@ -372,16 +373,17 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
||||||
settings.setDisplayZoomControls(false);
|
settings.setDisplayZoomControls(false);
|
||||||
|
|
||||||
//Scale web view font size with system font size
|
//Scale web view font size with system font size
|
||||||
|
float systemFontScaling = ctx.getResources().getDisplayMetrics().density * android.content.res.Configuration.fontScale;
|
||||||
if (android.os.Build.VERSION.SDK_INT >= 14) {
|
if (android.os.Build.VERSION.SDK_INT >= 14) {
|
||||||
settings.setTextZoom((int) (ctx.getResources().getDisplayMetrics().density * 100f));
|
settings.setTextZoom((int) (systemFontScaling * 100f));
|
||||||
} else {
|
} else {
|
||||||
if (ctx.getResources().getDisplayMetrics().density <= 0.5f) {
|
if (systemFontScaling <= 0.5f) {
|
||||||
settings.setTextSize(WebSettings.TextSize.SMALLEST);
|
settings.setTextSize(WebSettings.TextSize.SMALLEST);
|
||||||
} else if (ctx.getResources().getDisplayMetrics().density <= 0.75f) {
|
} else if (systemFontScaling <= 0.75f) {
|
||||||
settings.setTextSize(WebSettings.TextSize.SMALLER);
|
settings.setTextSize(WebSettings.TextSize.SMALLER);
|
||||||
} else if (ctx.getResources().getDisplayMetrics().density <= 1.0f) {
|
} else if (systemFontScaling <= 1.0f) {
|
||||||
settings.setTextSize(WebSettings.TextSize.NORMAL);
|
settings.setTextSize(WebSettings.TextSize.NORMAL);
|
||||||
} else if (ctx.getResources().getDisplayMetrics().density <= 1.5f) {
|
} else if (systemFontScaling <= 1.5f) {
|
||||||
settings.setTextSize(WebSettings.TextSize.LARGER);
|
settings.setTextSize(WebSettings.TextSize.LARGER);
|
||||||
} else {
|
} else {
|
||||||
settings.setTextSize(WebSettings.TextSize.LARGEST);
|
settings.setTextSize(WebSettings.TextSize.LARGEST);
|
||||||
|
|
|
@ -3,6 +3,7 @@ package net.osmand.core.samples.android.sample1.mapcontextmenu;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.support.v4.content.ContextCompat;
|
import android.support.v4.content.ContextCompat;
|
||||||
|
@ -108,16 +109,17 @@ public class ContextMenuHelper {
|
||||||
settings.setDisplayZoomControls(false);
|
settings.setDisplayZoomControls(false);
|
||||||
|
|
||||||
//Scale web view font size with system font size
|
//Scale web view font size with system font size
|
||||||
|
float systemFontScaling = ctx.getResources().getDisplayMetrics().density * android.content.res.Configuration.fontScale;
|
||||||
if (android.os.Build.VERSION.SDK_INT >= 14) {
|
if (android.os.Build.VERSION.SDK_INT >= 14) {
|
||||||
settings.setTextZoom((int) (ctx.getResources().getDisplayMetrics().density * 100f));
|
settings.setTextZoom((int) (systemFontScaling * 100f));
|
||||||
} else {
|
} else {
|
||||||
if (ctx.getResources().getDisplayMetrics().density <= 0.5f) {
|
if (systemFontScaling <= 0.5f) {
|
||||||
settings.setTextSize(WebSettings.TextSize.SMALLEST);
|
settings.setTextSize(WebSettings.TextSize.SMALLEST);
|
||||||
} else if (ctx.getResources().getDisplayMetrics().density <= 0.75f) {
|
} else if (systemFontScaling <= 0.75f) {
|
||||||
settings.setTextSize(WebSettings.TextSize.SMALLER);
|
settings.setTextSize(WebSettings.TextSize.SMALLER);
|
||||||
} else if (ctx.getResources().getDisplayMetrics().density <= 1.0f) {
|
} else if (systemFontScaling <= 1.0f) {
|
||||||
settings.setTextSize(WebSettings.TextSize.NORMAL);
|
settings.setTextSize(WebSettings.TextSize.NORMAL);
|
||||||
} else if (ctx.getResources().getDisplayMetrics().density <= 1.5f) {
|
} else if (systemFontScaling <= 1.5f) {
|
||||||
settings.setTextSize(WebSettings.TextSize.LARGER);
|
settings.setTextSize(WebSettings.TextSize.LARGER);
|
||||||
} else {
|
} else {
|
||||||
settings.setTextSize(WebSettings.TextSize.LARGEST);
|
settings.setTextSize(WebSettings.TextSize.LARGEST);
|
||||||
|
|
Loading…
Reference in a new issue