Как изменить текст на жирный в Android?

433

Как изменить настройки текста / шрифта в Android TextView?

Например, как вы делаете текст жирным ?

Nithin
источник
Пожалуйста, проверьте мой ответ здесь . Надеюсь, что это поможет вам
Summved Jain
3
нажмите здесь
Томас Даниэль

Ответы:

552

Для этого в layout.xmlфайле:

android:textStyle

Примеры:

android:textStyle="bold|italic"

Программно метод состоит в следующем:

setTypeface(Typeface tf)

Устанавливает шрифт и стиль, в котором должен отображаться текст. Обратите внимание, что не во всех Typefaceсемьях есть варианты, выделенные жирным шрифтом и курсивом, поэтому вам, возможно, придется использовать их, setTypeface(Typeface, int)чтобы получить тот вид, который вам действительно нужен.

Phobos
источник
351

Вот решение

TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
Судипта Сом
источник
77

Просто вы можете сделать следующее:

Установите атрибут в XML

  android:textStyle="bold"

Программно метод заключается в:

TextView Tv = (TextView) findViewById(R.id.TextView);

Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);

Tv.setTypeface(boldTypeface);

Надеюсь, это поможет вам поблагодарить вас.

Saeed
источник
Дайте мне знать результат
saeed
54

В XML

android:textStyle="bold" //only bold
android:textStyle="italic" //only italic
android:textStyle="bold|italic" //bold & italic

Вы можете использовать только определенные шрифты sans, serifи monospaceчерез XML, код Java может использовать пользовательские шрифты

android:typeface="monospace" // or sans or serif

Программно (код Java)

TextView textView = (TextView) findViewById(R.id.TextView1);

textView.setTypeface(Typeface.SANS_SERIF); //only font style
textView.setTypeface(null,Typeface.BOLD); //only text style(only bold)
textView.setTypeface(null,Typeface.BOLD_ITALIC); //only text style(bold & italic)
textView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD); 
                                         //font style & text style(only bold)
textView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD_ITALIC);
                                         //font style & text style(bold & italic)
MaxEcho
источник
22

Установить атрибут

android:textStyle="bold"
koljaTM
источник
20

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

myTextView.setText(Html.fromHtml("<b>" + myText + "</b>");
Niko
источник
18

Это очень просто

setTypeface(Typeface.DEFAULT_BOLD);
HatemTmi
источник
16

Если вы рисуете это, то это сделает это:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
noelicus
источник
16

В идеальном мире вы бы задали атрибут стиля текста в своем определении XML макета следующим образом:

<TextView
    android:id="@+id/TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textStyle="bold"/>

Существует простой способ динамического достижения того же результата в вашем коде с помощью setTypefaceметода. Вам нужно передать и объект класса Typeface , который будет описывать стиль шрифта для этого TextView. Таким образом, чтобы достичь того же результата, что и в приведенном выше определении XML, вы можете сделать следующее:

TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);

Первая строка создаст объект в предопределенном стиле (в данном случае Typeface.BOLD , но есть еще много ). Когда у нас есть экземпляр гарнитуры, мы можем установить его в TextView. И это все, что наш контент будет отображаться в стиле, который мы определили.

Я надеюсь, что это вам очень поможет. Для более подробной информации вы можете посетить

http://developer.android.com/reference/android/graphics/Typeface.html

IntelliJ Amiya
источник
14

Из XML вы можете установить TextStyle к жирному шрифту , как показано ниже

<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Bold text"
   android:textStyle="bold"/>

С программной точки зрения, вы можете установить TextView жирным шрифтом, как показано ниже

textview.setTypeface(Typeface.DEFAULT_BOLD);
Удара Абейтхилаке
источник
10

Определите новый стиль с нужным форматом в файле style.xml в папке значений

<style name="TextViewStyle" parent="AppBaseTheme">
    <item name="android:textStyle">bold</item>
    <item name="android:typeface">monospace</item>
    <item name="android:textSize">16sp</item>
    <item name="android:textColor">#5EADED</item>

</style>

Затем примените этот стиль к TextView, написав следующий код со свойствами TextView.

style="@style/TextViewStyle"
Семь
источник
9

Лучший способ пойти это:

TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
sabbibJAVA
источник
6

Предполагая, что вы новичок в Android Studio, просто вы можете сделать это в режиме конструктора XML , используя

android:textStyle="bold"          //to make text bold
android:textStyle="italic"        //to make text italic
android:textStyle="bold|italic"   //to make text bold & italic
Дан Тилакаратне
источник
6

в файле .xml установите

android:textStyle="bold" 

установит тип текста жирным шрифтом.

Хоанг Нгуен Вьет
источник
5

Вы можете использовать это для шрифта

создать имя класса TypefaceTextView и расширить TextView

приватная статическая карта mTypefaces;

public TypefaceTextView(final Context context) {
    this(context, null);
}

public TypefaceTextView(final Context context, final AttributeSet attrs) {
    this(context, attrs, 0);
}

public TypefaceTextView(final Context context, final AttributeSet attrs, final int defStyle) {
    super(context, attrs, defStyle);
    if (mTypefaces == null) {
        mTypefaces = new HashMap<String, Typeface>();
    }

    if (this.isInEditMode()) {
        return;
    }

    final TypedArray array = context.obtainStyledAttributes(attrs, styleable.TypefaceTextView);
    if (array != null) {
        final String typefaceAssetPath = array.getString(
                R.styleable.TypefaceTextView_customTypeface);

        if (typefaceAssetPath != null) {
            Typeface typeface = null;

            if (mTypefaces.containsKey(typefaceAssetPath)) {
                typeface = mTypefaces.get(typefaceAssetPath);
            } else {
                AssetManager assets = context.getAssets();
                typeface = Typeface.createFromAsset(assets, typefaceAssetPath);
                mTypefaces.put(typefaceAssetPath, typeface);
            }

            setTypeface(typeface);
        }
        array.recycle();
    }
}

вставьте шрифт в папку шрифтов, созданную в папке ресурсов

<packagename.TypefaceTextView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1.5"
        android:gravity="center"
        android:text="TRENDING TURFS"
        android:textColor="#000"
        android:textSize="20sp"
        app:customTypeface="fonts/pompiere.ttf" />**here pompiere.ttf is the font name**

Поместите строки в родительский макет в XML

 xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"
Амареш Яна
источник
4

4 способа сделать Android TextView жирным - полный ответ здесь.

  1. Использование атрибута android: textStyle

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> Используйте жирный | курсив для жирного и курсива.

  2. используя метод setTypeface ()

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. Метод HtmlCompat.fromHtml (), Html.fromHtml () устарел на уровне API 24.

     String html="This is <b>TEXTVIEW 3</b>";
     textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));
Атира Редди
источник
3

В моем случае передача значения через string.xml с помощью HTML-тега.

<string name="your_string_tag"> <b> your_text </b></string>

Раджеш Надди
источник
1
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);

установит как шрифт, так и стиль шрифта Bold.

Санкет Патанкар
источник
2
Вы должны включить краткое объяснение своего ответа, чтобы лучше описать его вариант использования и реализацию.
Дов Benyomin Sohacheski
Это не добавляет ничего нового к существующим ответам.
ноября
@nvoigt, его ответ отличается от многих других, по крайней мере, второй строкой. Вероятно, это лучше, чем другие решения. Я думаю, что это захвачено от stackoverflow.com/questions/6200533/… .
CoolMind