Установить стиль TextView (жирный или курсив) - PullRequest
775 голосов
/ 01 июня 2011

Как установить стиль TextView (полужирный или курсив) в Java и без использования XML-макета?

Другими словами, мне нужно написать android:textStyle с помощью Java.

Ответы [ 24 ]

1754 голосов
/ 01 июня 2011
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)
258 голосов
/ 01 июня 2011

Попробуйте установить TextView для жирного или курсивного

textView.setTypeface(textView.getTypeface(), Typeface.BOLD);
textView.setTypeface(textView.getTypeface(), Typeface.ITALIC);
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC);
128 голосов
/ 28 марта 2013

Программный:

Вы можете сделать программно, используя 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

XML:

Вы можете установить напрямую в XML-файле в <TextView />, например:

android:textStyle="normal"
android:textStyle="normal|bold"
android:textStyle="normal|italic"
android:textStyle="bold"
android:textStyle="bold|italic"
86 голосов
/ 01 июня 2011

У вас есть две опции:

Опция 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 ;это сложнее, но вы можете динамически изменять текстовые атрибуты (не только полужирный / курсив, но и цвета).

36 голосов
/ 14 мая 2015

Программно:

Вы можете сделать программно, используя 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

и если вы хотите установить custom Typeface :

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 Italic

XML:

Вы можете установить непосредственно в XML-файле в <TextView />, например:

android:textStyle="normal"
android:textStyle="normal|bold"
android:textStyle="normal|italic"
android:textStyle="bold"
android:textStyle="bold|italic"

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

12 голосов
/ 01 июня 2011
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
11 голосов
/ 07 июня 2016

Просто, если вы хотите сделать текст жирным шрифтом . напишите эту строку в макете в текстовом свойстве

android:textStyle="bold"
10 голосов
/ 01 июня 2011

попробуйте установить стиль TextView по коду Java

txt1.setTypeface(null,Typeface.BOLD_ITALIC);
9 голосов
/ 13 июля 2012
TextView text = (TextView)findViewById(R.layout.textName);
text.setTypeface(null,Typeface.BOLD);
8 голосов
/ 01 июня 2011

Было бы

yourTextView.setTypeface(null,Typeface.DEFAULT_BOLD);

и курсив должен быть в состоянии заменить Typeface.DEFAULT_BOLD на Typeface.DEFAULT_ITALC.

Дайте мне знать, как это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...