7 ответов:
вам нужно создать папку шрифтов в папке assets в вашем проекте и поместить в нее свой TTF. Тогда в вашей деятельности onCreate ()
TextView myTextView=(TextView)findViewById(R.id.textBox); Typeface typeFace=Typeface.createFromAsset(getAssets(),"fonts/mytruetypefont.ttf"); myTextView.setTypeface(typeFace);обратите внимание, что не все TTF будет работать. Пока я экспериментировал, он работал только для подмножества (на окнах те, чье имя написано маленькими заглавными буквами).
вы можете использовать пользовательский TextView для всего приложения с пользовательским шрифтом вот пример для этого
public class MyTextView extends TextView { Typeface normalTypeface = Typeface.createFromAsset(getContext().getAssets(), Constants.FONT_REGULAR); Typeface boldTypeface = Typeface.createFromAsset(getContext().getAssets(), Constants.FONT_BOLD); public MyTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MyTextView(Context context) { super(context); } public void setTypeface(Typeface tf, int style) { if (style == Typeface.BOLD) { super.setTypeface(boldTypeface/*, -1*/); } else { super.setTypeface(normalTypeface/*, -1*/); } } }
создайте папку с именем fonts в папке assets и добавьте фрагмент из приведенной ниже ссылки.
Typeface tf = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/fontname.ttf"); textview.setTypeface(tf);
для реализации вам нужно использовать шрифт пройти через образец ниже
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Roboto/Roboto-Regular.ttf"); for (View view : allViews) { if (view instanceof TextView) { TextView textView = (TextView) view; textView.setTypeface(typeface); } } }
самый простой способ сделать это-упаковать нужный шрифт(ы) с вашим приложением. Чтобы сделать это, просто создайте активы / папку в корень проекта и поместите свои шрифты (в форме TrueType или TTF) в имущество. Вы можете, например, создать активы / шрифты / и поместить свой Файлы TTF там.
затем, вы должны сказать своим виджетам, чтобы использовать этот шрифт. К сожалению, вы больше не можете использовать макет XML для этого, так как XML не знает о любые шрифты, которые вы, возможно, убрали в качестве актива приложения. Вместо этого вам нужно внести изменения в код Java, вызвав Шрифт.createFromAsset (getAssets (), "шрифты/HandmadeTypewriter.ТЦФ"), затем возьмите созданный объект шрифта и передайте его вашему TextView через setTypeface ().
для получения дополнительной информации вот учебник, где я получил это:
Я рекомендую этот подход это очень приятно с добавлением имени пользовательского шрифта в
typefaceдоstyles.xmlи положить ваш набор шрифтов в .
еще один пункт В дополнение к выше ответы. При использовании шрифта внутри фрагмента создание экземпляра шрифта должно выполняться в методе onAttach (override), как указано ниже:
@Override public void onAttach(Activity activity){ super.onAttach(activity); Typeface tf = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/fontname.ttf"); }причина:
Существует короткий промежуток времени, прежде чем фрагмент будет присоединен к действию. Если метод CreateFromAsset вызывается перед присоединением фрагмента к действию, возникает ошибка.
Comments