21 ответов:
textView.setTypeface(null, Typeface.BOLD_ITALIC); textView.setTypeface(null, Typeface.BOLD); textView.setTypeface(null, Typeface.ITALIC); textView.setTypeface(null, Typeface.NORMAL);сохранить предыдущий шрифт
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC)
попробуйте это установить на
TextViewдля жирного или курсиваtextView.setTypeface(textView.getTypeface(), Typeface.BOLD); textView.setTypeface(textView.getTypeface(), Typeface.ITALIC); textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC);
программно:
вы можете сделать программно с помощью
setTypeface():textView.setTypeface(null, Typeface.NORMAL); // for Normal Text textView.setTypeface(null, Typeface.BOLD); // for Bold only textView.setTypeface(null, Typeface.ITALIC); // for Italic textView.setTypeface(null, Typeface.BOLD_ITALIC); // for Bold and ItalicXML:
вы можете установить непосредственно в XML-файл в
<TextView />как:android:textStyle="normal" android:textStyle="normal|bold" android:textStyle="normal|italic" android:textStyle="bold" android:textStyle="bold|italic"
у вас есть два варианта:
1 (работает только для жирного, курсива и подчеркивания):
String s = "<b>Bolded text</b>, <i>italic text</i>, even <u>underlined</u>!" TextView tv = (TextView)findViewById(R.id.THE_TEXTVIEW_ID); tv.setText(Html.fromHtml(s));Вариант 2:
использовать Spannable; это сложнее, но вы можете динамически изменять атрибуты текста (не только полужирный/курсив, но и цвета).
программно:
вы можете сделать программно с помощью
setTypeface()способ:Ниже приведен код для шрифта по умолчанию
textView.setTypeface(null, Typeface.NORMAL); // for Normal Text textView.setTypeface(null, Typeface.BOLD); // for Bold only textView.setTypeface(null, Typeface.ITALIC); // for Italic textView.setTypeface(null, Typeface.BOLD_ITALIC); // for Bold and Italicи если вы хотите установить шрифт:
textView.setTypeface(textView.getTypeface(), Typeface.NORMAL); // for Normal Text textView.setTypeface(textView.getTypeface(), Typeface.BOLD); // for Bold only textView.setTypeface(textView.getTypeface(), Typeface.ITALIC); // for Italic textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC); // for Bold and ItalicXML:
вы можете установить непосредственно в XML-файл в
<TextView />такой:android:textStyle="normal" android:textStyle="normal|bold" android:textStyle="normal|italic" android:textStyle="bold" android:textStyle="bold|italic"или вы можете установить свой шрифт fav (из активов). для получения дополнительной информации см. ссылку
TextView text = (TextView)findViewById(R.id.THE_TEXTVIEW_ID);установка
textviewсвойства..text.setTypeface(null, Typeface.BOLD); //-- for only bold the text text.setTypeface(null, Typeface.BOLD_ITALIC); //-- for bold & italic the text text.setTypeface(null, Typeface.ITALIC); // -- for italic the text
просто если вы хотите сделать текст полужирный. напишите эту строку в своем макете в свойстве text view
android:textStyle="bold"
было бы
yourTextView.setTypeface(null,Typeface.DEFAULT_BOLD);и курсив должен быть в состоянии быть с заменой
Typeface.DEFAULT_BOLDСTypeface.DEFAULT_ITALC.Дайте мне знать, как это работает.
использовать
textView.setTypeface(Typeface tf, int style);для установки свойства стиляTextView. Смотрите документация для разработчиков для получения дополнительной информации.
попробуйте это:
TextView textview = (TextView)findViewById(R.id.textview_idname); textview.setTypeface(null,Typeface.BOLD);
стандартный способ сделать это-использовать пользовательские стили. Экс -
на
styles.xmlдобавить следующее.<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="MyApp.TextAppearance.LoginText"> <item name="android:textStyle">bold|italic</item> </style>применить этот стиль к вашей
TextViewследующим образом.<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/MyApp.TextAppearance.LoginText" />
так как я хочу использовать пользовательский шрифт только сочетание нескольких ответов работает для меня. Очевидно, настройки в моем
layout.xmlкакandroid:textStlyle="italic"был проигнорирован AOS. Поэтому, наконец, мне пришлось сделать следующее: вstrings.xmlцелевая строка была объявлена как:<string name="txt_sign"><i>The information blah blah ...</i></string>дополнительно в коде:
TextView textSign = (TextView) findViewById(R.id.txt_sign); FontHelper.setSomeCustomFont(textSign); textSign.setTypeface(textSign.getTypeface(), Typeface.ITALIC);Я не пробовал
Spannableвариант (который я предполагаю, должен работать), ноtextSign.setText(Html.fromHtml(getString(R.string.txt_sign)))не было никакого эффекта. Также, если я удалю
italic tagСstrings.xmlоставивsetTypeface()в одиночку это тоже не имеет никакого эффекта. Хитрый Андроид...
и как описано здесь Строковые Ресурсы Разработчиков Android если вам нужно использовать параметры в вашем стилизованном текстовом ресурсе, вы должны избежать открывающих скобок
<resources> <string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.</string> </resources>и вызов formatHtml (string)
Resources res = getResources(); String text = String.format(res.getString(R.string.welcome_messages), username, mailCount); CharSequence styledText = Html.fromHtml(text);
один из способов вы можете сделать это :
myTextView.setTypeface(null, Typeface.ITALIC); myTextView.setTypeface(null, Typeface.BOLD_ITALIC); myTextView.setTypeface(null, Typeface.BOLD); myTextView.setTypeface(null, Typeface.NORMAL);другой вариант, если вы хотите сохранить предыдущий шрифт и не хотите терять, ранее применявшиеся тогда:
myTextView.setTypeface(textView.getTypeface(), Typeface.NORMAL); myTextView.setTypeface(textView.getTypeface(), Typeface.BOLD); myTextView.setTypeface(textView.getTypeface(), Typeface.ITALIC); myTextView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC);
в моем случае:
1 - Набор текста
2 - установить шрифт
holder.title.setText(item.nome); holder.title.setTypeface(null, Typeface.BOLD);
лучший способ-определить его в
styles.xml<style name="common_txt_style_heading" parent="android:style/Widget.TextView"> <item name="android:textSize">@dimen/common_txtsize_heading</item> <item name="android:textColor">@color/color_black</item> <item name="android:textStyle">bold|italic</item> </style>и обновить его в
TextView<TextView android:id="@+id/txt_userprofile" style="@style/common_txt_style_heading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="@dimen/margin_small" android:text="@string/some_heading" />
AppCompatTextView text =(AppCompatTextView)findViewById(R.layout.appCompatTextView1); text.setTypeface(null,Typeface.BOLD);используйте выше метод, чтобы установить шрифт программно.
это единственное, что работало для меня на OnePlus 5T, настроенном с помощью шрифта OnePlus Slate™:
textView.setTypeface(Typeface.create(textView.getTypeface(), useBold ? Typeface.BOLD : Typeface.NORMAL));другие методы заставят его вернуться к Roboto, когда он будет жирным или нормальным.
Comments