Как программно изменить настройки шрифта устройства: стиль шрифта и размер шрифта?

Как изменить тип и размер шрифта программно? Я не имею в виду изменение стиля шрифта textview или editText.

Я хочу изменить общие настройки шрифта, переключаясь между типами шрифтов и размерами шрифтов одним нажатием кнопки в моем приложении. Я попытался проверить атрибуты Settings.System, но не смог их найти. Есть идеи?

2 ответа

Вы можете изменить системный шрифт, используя код ниже

Settings.System.putFloat(getBaseContext().getContentResolver(),
            Settings.System.FONT_SCALE, (float) 1.0);

и после этого дайте разрешение в файле манифеста

  <uses-permission android:name="android.permission.WRITE_SETTINGS"/>

а затем перезагрузите устройство, чтобы показать эффект..

Примечание: он полностью применим для рутированного устройства и для нерутированного устройства, некоторые шрифты могут измениться, а некоторые - нет.

Ты можешь использовать FONT_SCALE отandroid.provider.Settings.System,

а также увидеть это.

Читать размер шрифта из настроек

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

Используйте описанный выше метод в дополнение к разрешению приложению запрашивать у пользователя разрешения.

Инструкции доступны здесь: Не удается получить разрешение WRITE_SETTINGS

Другие вопросы по тегам