Android выбирает пользовательские шрифты

Как дать пользователю возможность выбрать шрифт? В «предпочтениях» я хочу изменить шрифт и список шрифтов.

Я установил шрифт таким образом:

mTimerLabel = (TextView)findViewById(R.id.label); Typeface typeface = Typeface.createFromAsset(getAssets(), "Fonts/digital-7i.ttf"); mTimerLabel.setTypeface(typeface); 

Solutions Collecting From Web of "Android выбирает пользовательские шрифты"

Вы описали правильную модель изменения шрифта в textView. Я не могу понять проблему, с которой вы столкнулись. Вызовите настройки для textView, выберите шрифт (или его идентификатор) и установите его.

Вам нужно будет сохранить ttf в папке с вашими ресурсами. Кроме того, AFAIK вы не можете назвать какую-либо папку в верхнем регистре символов – так, как вы это делали в Fonts . Остальная часть подхода прекрасна. Вы можете проверить значение, которое вы сохраняете в настройках, используя Logcat.

Сохраните имя шрифта, т.е. digital-7i.ttf, в настройках, когда пользователь выберет любой шрифт, который вы можете заменить именем из настроек, и используйте свой код, как это.

 SharedPreferences Settings = getSharedPreferences( "<PREF_NAME>", MODE_PRIVATE); fontName = Settings.getString("<KEY>", "digital-7i.ttf"); mTimerLabel = (TextView)findViewById(R.id.label); Typeface typeface = Typeface.createFromAsset(getAssets(), "Fonts/"+fontName); mTimerLabel.setTypeface(typeface);