Wie ändere ich Text in Android in Fettdruck?

433

Wie ändere ich die Text- / Schriftarteinstellungen in einem Android TextView?

Wie macht man zum Beispiel den Text fett ?

nithin
quelle
Bitte überprüfen Sie meine Antwort hier . Hoffe das wird dir helfen
Summved Jain
3
Klicken Sie hier
Thomas Daniel

Antworten:

551

So tun Sie dies in der layout.xmlDatei:

android:textStyle

Beispiele:

android:textStyle="bold|italic"

Programmatisch lautet die Methode:

setTypeface(Typeface tf)

Legt die Schriftart und den Stil fest, in dem der Text angezeigt werden soll. Beachten Sie, dass nicht alle TypefaceFamilien tatsächlich fett und kursiv sind. Daher müssen Sie möglicherweise verwenden setTypeface(Typeface, int), um das gewünschte Erscheinungsbild zu erhalten.

Phobos
quelle
351

Hier ist die Lösung

TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
Sudipta Som
quelle
77

Sie können einfach Folgendes tun:

Setzen Sie das Attribut in XML

  android:textStyle="bold"

Programmatisch ist die Methode:

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

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

Tv.setTypeface(boldTypeface);

Hoffe das hilft dir danke.

saeed
quelle
Lassen Sie mich das Ergebnis wissen
siehe
54

In XML

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

Sie können nur bestimmte Schriftarten verwenden sans, serifund monospaceüber XML kann Java-Code benutzerdefinierte Schriftarten verwenden

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

Programmatisch (Java-Code)

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
quelle
22

Legen Sie das Attribut fest

android:textStyle="bold"
koljaTM
quelle
20

Für den Fall, dass Sie benutzerdefinierte Schriftarten verwenden, aber keine fette Schrift für die Schriftart haben, die Sie verwenden können:

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

Es ist sehr leicht

setTypeface(Typeface.DEFAULT_BOLD);
HatemTmi
quelle
16

Wenn Sie es zeichnen, wird dies es tun:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
Noelicus
quelle
16

In der idealen Welt würden Sie das Textstilattribut in Ihrer Layout-XML-Definition folgendermaßen festlegen:

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

Es gibt eine einfache Möglichkeit, das gleiche Ergebnis mithilfe der setTypefaceMethode dynamisch in Ihrem Code zu erzielen . Sie müssen ein Objekt der Typeface- Klasse übergeben, das den Schriftstil für diese TextView beschreibt. Um das gleiche Ergebnis wie bei der obigen XML-Definition zu erzielen, können Sie Folgendes tun:

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

In der ersten Zeile wird der vordefinierte Stil des Objektformulars erstellt (in diesem Fall Typeface.BOLD , es sind jedoch noch viele weitere vordefiniert). Sobald wir eine Schriftinstanz haben, können wir sie in der Textansicht festlegen. Und das war's, unser Inhalt wird in dem von uns definierten Stil angezeigt.

Ich hoffe, es hilft Ihnen sehr. Für bessere Informationen können Sie besuchen

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

IntelliJ Amiya
quelle
14

Aus der XML können Sie die eingestellte Textstil zu fett , wie unten

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

Im Programm können Sie die Textansicht wie folgt fett setzen

textview.setTypeface(Typeface.DEFAULT_BOLD);
Udara Abeythilake
quelle
10

Definieren Sie einen neuen Stil mit dem gewünschten Format in der Datei style.xml im Ordner values

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

Wenden Sie diesen Stil dann auf die Textansicht an, indem Sie den folgenden Code mit den Eigenschaften der Textansicht schreiben

style="@style/TextViewStyle"
Sieben
quelle
9

Der beste Weg ist:

TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
sabbibJAVA
quelle
6

Angenommen, Sie sind ein neuer Starter in Android Studio. Sie können dies einfach in XML in der Entwurfsansicht mithilfe von erledigen

android:textStyle="bold"          //to make text bold
android:textStyle="italic"        //to make text italic
android:textStyle="bold|italic"   //to make text bold & italic
Dan Tilakaratne
quelle
6

in der Datei .xml festlegen

android:textStyle="bold" 

legt fest, dass der Texttyp fett ist.

Hoang Nguyen Viet
quelle
5

Sie können dies für die Schriftart verwenden

Erstellen Sie einen Klassennamen TypefaceTextView und erweitern Sie die TextView

private statische Karte 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();
    }
}

Fügen Sie die Schriftart in den Schriftartenordner ein, der im Asset-Ordner erstellt wurde

<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**

Platzieren Sie die Zeilen im übergeordneten Layout in der XML

 xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"
Amaresh Jana
quelle
4

4 Möglichkeiten, Android TextView fett zu machen - Die vollständige Antwort finden Sie hier.

  1. Verwenden des Attributs android: textStyle

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> Verwenden Sie fett | kursiv für fett und kursiv.

  2. mit der setTypeface () -Methode

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. Die Methode HtmlCompat.fromHtml (), Html.fromHtml (), wurde in API-Version 24 nicht mehr unterstützt.

     String html="This is <b>TEXTVIEW 3</b>";
     textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));
Athira Reddy
quelle
3

In meinem Fall hat das Übergeben von Werten durch string.xml mit dem HTML-Tag funktioniert.

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

Rajesh Naddy
quelle
1
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);

setzt sowohl die Schrift als auch den Stil auf Fett.

Sanket Patankar
quelle
2
Sie sollten eine kurze Erläuterung Ihrer Antwort beifügen, um den Anwendungsfall und die Implementierung besser zu beschreiben.
Dov Benyomin Sohacheski
Dies fügt den vorhandenen Antworten nichts Neues hinzu.
nvoigt
@nvoigt, seine Antwort unterscheidet sich von vielen anderen, zumindest in der zweiten Zeile. Wahrscheinlich ist es besser als andere Lösungen. Ich denke, es ist von stackoverflow.com/questions/6200533/… erfasst .
CoolMind