Як змінити текст на жирний шрифт в Android?


Відповіді:


552

Для цього у layout.xmlфайлі:

android:textStyle

Приклади:

android:textStyle="bold|italic"

Програмним способом є:

setTypeface(Typeface tf)

Встановлює шрифт і стиль, у якому текст повинен відображатися. Зауважте, що не всі Typefaceсім'ї насправді мають сміливі та курсивні варіанти, тому вам, можливо, доведеться скористатися, setTypeface(Typeface, int)щоб отримати вигляд, який ви насправді хочете.


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

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)


20

У випадку, коли ви використовуєте власні шрифти, але не маєте жирного шрифту для шрифту, ви можете використовувати:

myTextView.setText(Html.fromHtml("<b>" + myText + "</b>");


16

Якщо ви малюєте його, це зробить це:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);

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


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);

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

приватна статична карта mTypeface;

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. Використання андроїда: атрибут 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
Ви повинні включити коротке пояснення своєї відповіді для кращого опису випадку її використання та реалізації.
Дов Беньомін Сохаческі

Це не дає нічого нового для існуючих відповідей.
nvoigt

@nvoigt, його відповідь відрізняється від багатьох інших, принаймні другим рядком. Напевно, це краще, ніж інші рішення. Я думаю, що це зроблено з stackoverflow.com/questions/6200533/… .
CoolMind
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.