Come si cambia il testo in grassetto in Android?


Risposte:


552

Per fare questo nel layout.xmlfile:

android:textStyle

Esempi:

android:textStyle="bold|italic"

A livello di programmazione il metodo è:

setTypeface(Typeface tf)

Imposta il carattere tipografico e lo stile in cui deve essere visualizzato il testo. Nota che non tutte le Typefacefamiglie hanno in realtà varianti in grassetto e corsivo, quindi potrebbe essere necessario utilizzare setTypeface(Typeface, int)per ottenere l'aspetto che desideri effettivamente.


351

Ecco la soluzione

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

77

Semplicemente puoi fare quanto segue:

Imposta l'attributo in XML

  android:textStyle="bold"

A livello di programmazione il metodo è:

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

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

Tv.setTypeface(boldTypeface);

Spero che questo ti aiuti, grazie.


Fammi sapere il risultato
Saeed

54

In XML

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

È possibile utilizzare solo caratteri specifici e sans, tramite XML, il codice Java può utilizzare caratteri personalizzatiserifmonospace

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

Programmaticamente (codice 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

Nel caso in cui si utilizzino caratteri personalizzati, ma non si dispone di un carattere grassetto per il carattere, è possibile utilizzare:

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

18

È molto facile

setTypeface(Typeface.DEFAULT_BOLD);

16

Se lo stai disegnando, questo lo farà:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);

16

Nel mondo ideale dovresti impostare l'attributo di stile del testo nella definizione XML del layout in questo modo:

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

Esiste un modo semplice per ottenere lo stesso risultato in modo dinamico nel codice usando il setTypefacemetodo È necessario passare e l'oggetto della classe Typeface , che descriverà lo stile del carattere per quel TextView. Quindi, per ottenere lo stesso risultato della definizione XML sopra riportata, puoi fare quanto segue:

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

La prima riga creerà l'oggetto forma stile predefinito (in questo caso Typeface.BOLD , ma ce ne sono molti altri predefiniti). Una volta che abbiamo un'istanza di carattere tipografico, possiamo impostarla su TextView. Ed è così che i nostri contenuti verranno visualizzati sullo stile che abbiamo definito.

Spero che ti aiuti molto.Per informazioni migliori puoi visitare

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


14

Dall'XML è possibile impostare textStyle in grassetto come di seguito

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

Dal punto di vista programmatico, puoi impostare TextView in grassetto come di seguito

textview.setTypeface(Typeface.DEFAULT_BOLD);

10

Definire un nuovo stile con il formato desiderato nel file style.xml nella cartella dei valori

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

Quindi applicare questo stile a TextView scrivendo il codice seguente con le proprietà di TextView

style="@style/TextViewStyle"

9

Il modo migliore per andare è:

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

6

Supponendo che tu sia un nuovo avviatore su Android Studio, puoi semplicemente farlo nella vista di progettazione XML utilizzando

android:textStyle="bold"          //to make text bold
android:textStyle="italic"        //to make text italic
android:textStyle="bold|italic"   //to make text bold & italic

6

nel file .xml , impostare

android:textStyle="bold" 

imposterà il tipo di testo in grassetto.


5

Puoi usarlo per il font

creare un nome di classe TypefaceTextView ed estendere TextView

mTypefaces statici privati;

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

incolla il carattere nella cartella dei caratteri creata nella cartella degli asset

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

Posiziona le linee nel layout principale nell'xml

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

4

4 modi per rendere audace Android TextView : la risposta completa è qui.

  1. Utilizzando android: attributo textStyle

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> Usa grassetto | corsivo per grassetto e corsivo.

  2. usando il metodo setTypeface ()

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. Il metodo HtmlCompat.fromHtml (), Html.fromHtml () è stato deprecato nel livello API 24.

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

3

Nel mio caso, passare il valore attraverso string.xml ha funzionato con il tag html ..

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


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

imposterà sia il carattere sia lo stile su Grassetto.


2
Dovresti includere una breve spiegazione della tua risposta per descriverne meglio il caso d'uso e l'implementazione.
Dov Benyomin Sohacheski il

Questo non aggiunge nulla di nuovo alle risposte esistenti.
nvoigt,

@nvoigt, la sua risposta differisce da molte altre, almeno dalla seconda riga. Probabilmente è meglio di altre soluzioni. Penso che sia stato catturato da stackoverflow.com/questions/6200533/… .
CoolMind,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.