Как установить масштаб шрифта в моем собственном приложении для Android? - PullRequest
4 голосов
/ 22 июля 2011

Я хочу разрешить пользователю выбирать размер шрифта.

Запасные части предоставляют такую ​​возможность,

ActivityManagerNative.getDefault (). UpdateConfiguration (новая конфигурация шкалы размера шрифта)

, но этоэто для всех приложений для Android.Я хочу добавить его в настройках моего приложения и повлиять только на мое приложение.

Я попробовал описанные ниже методы, иногда они работают, но при первом запуске приложения размер шрифта по-прежнему составляет 1,0.Я не почему.Я добавил ниже код в каждом onCreate моей деятельности.

Конфигурация config = resources.getConfiguration ();config.fontScale = 1.5f;resources.updateConfiguration (config, mDisplayMetrics);

Что я могу сделать?

Ответы [ 3 ]

15 голосов
/ 04 июня 2014

Код ниже позволит изменить для приложения только масштаб шрифта. Во второй строке код "configuration.fontScale = (float) 1;" придется потрахаться, чтобы удовлетворить ваши потребности. Значения по умолчанию масштабируются с шагом 0,15, по умолчанию 1.

Поместите его перед вызовом setContentView (R.layout.yourlayout)

Configuration configuration = getResources().getConfiguration();
configuration.fontScale=(float) 1; //0.85 small size, 1 normal size, 1,15 big etc

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
metrics.scaledDensity = configuration.fontScale * metrics.density;
getBaseContext().getResources().updateConfiguration(configuration, metrics);

Надеюсь, это поможет!

0 голосов
/ 31 октября 2018

Переведено для Xamarin ....

        Android.Content.Res.Configuration configuration = Resources.Configuration;
        configuration.FontScale = (float)1; //0.85 small size, 1 normal size, 1,15 big etc

        Android.Util.DisplayMetrics metrics = new DisplayMetrics();
        this.WindowManager.DefaultDisplay.GetMetrics(metrics);
        metrics.ScaledDensity = configuration.FontScale * metrics.Density;
0 голосов
/ 22 июля 2011

Я думаю, что вы ищете, чтобы применить тему к вашей деятельности или просмотра

Пожалуйста, посмотрите на документы для Android Темы

...