Comment changer le texte en gras dans Android?

433

Comment modifiez-vous les paramètres de texte / police dans un Android TextView?

Par exemple, comment rendre le texte en gras ?

nithin
la source
Veuillez vérifier ma réponse ici . J'espère que cela vous aidera
Summved Jain
3
cliquez ici
Thomas Daniel

Réponses:

552

Pour ce faire dans le layout.xmlfichier:

android:textStyle

Exemples:

android:textStyle="bold|italic"

Par programmation, la méthode est:

setTypeface(Typeface tf)

Définit la police et le style dans lesquels le texte doit être affiché. Notez que toutes les Typefacefamilles n'ont pas réellement de variantes en gras et en italique, vous devrez donc peut-être les utiliser setTypeface(Typeface, int)pour obtenir l'apparence que vous souhaitez réellement.

Phobos
la source
351

Voici la solution

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

Vous pouvez simplement faire ce qui suit:

Définissez l'attribut dans XML

  android:textStyle="bold"

Par programmation, la méthode est:

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

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

Tv.setTypeface(boldTypeface);

J'espère que cela vous aide à vous remercier.

saeed
la source
Faites-moi savoir le résultat
saeed
54

En XML

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

Vous ne pouvez utiliser que des polices spécifiques sans, serifet monospacevia xml, le code Java peut utiliser des polices personnalisées

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

Par programmation (code 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
la source
22

Définissez l'attribut

android:textStyle="bold"
koljaTM
la source
20

Dans le cas où vous utilisez des polices personnalisées, mais n'avez pas de police en gras pour la police que vous pouvez utiliser:

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

C'est très facile

setTypeface(Typeface.DEFAULT_BOLD);
HatemTmi
la source
16

Si vous le dessinez, cela le fera:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
noelicus
la source
16

Dans le monde idéal, vous définiriez l'attribut de style de texte dans votre définition XML de mise en page comme ça:

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

Il existe un moyen simple d'obtenir le même résultat de manière dynamique dans votre code à l'aide de la setTypefaceméthode. Vous devez passer et objet de la classe Typeface , qui décrira le style de police pour ce TextView. Ainsi, pour obtenir le même résultat qu'avec la définition XML ci-dessus, vous pouvez effectuer les opérations suivantes:

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

La première ligne créera le style prédéfini du formulaire objet (dans ce cas, Typeface.BOLD , mais il y en a beaucoup plus prédéfinis). Une fois que nous avons une instance de police de caractères, nous pouvons la définir sur TextView. Et c'est tout, notre contenu sera affiché selon le style que nous avons défini.

J'espère que cela vous aide beaucoup. Pour de meilleures informations, vous pouvez visiter

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

IntelliJ Amiya
la source
14

A partir du XML, vous pouvez définir le style de texte en gras comme ci-dessous

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

À partir de la programmation, vous pouvez définir le TextView en gras comme ci-dessous

textview.setTypeface(Typeface.DEFAULT_BOLD);
Udara Abeythilake
la source
10

Définissez un nouveau style avec le format souhaité dans le fichier style.xml du dossier valeurs

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

Appliquez ensuite ce style au TextView en écrivant le code suivant avec les propriétés du TextView

style="@style/TextViewStyle"
Sept
la source
9

La meilleure façon de procéder est:

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

En supposant que vous êtes un nouveau démarreur sur Android Studio, vous pouvez simplement le faire en mode Design XML en utilisant

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
la source
6

dans le fichier .xml , définissez

android:textStyle="bold" 

définira le type de texte en gras.

Hoang Nguyen Viet
la source
5

Vous pouvez l'utiliser pour la police

créer un nom de classe TypefaceTextView et étendre le TextView

mTypefaces de carte statique privée;

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

collez la police dans le dossier des polices créé dans le dossier des ressources

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

Placez les lignes dans la disposition parent dans le xml

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

4 façons de rendre Android TextView en gras - La réponse complète est ici.

  1. Utilisation de l' attribut android: textStyle

    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TEXTVIEW 1" android:textStyle="bold" /> Utilisez gras | italique pour gras et italique.

  2. à l'aide de la méthode setTypeface ()

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
  3. Méthode HtmlCompat.fromHtml (), Html.fromHtml () a été déconseillée au niveau de l'API 24.

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

Dans mon cas, le passage de la valeur via string.xml a fonctionné avec le tag html.

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

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

définira la police et le style en gras.

Sanket Patankar
la source
2
Vous devez inclure une brève explication de votre réponse pour mieux décrire son cas d'utilisation et sa mise en œuvre.
Dov Benyomin Sohacheski
Cela n'ajoute rien de nouveau aux réponses existantes.
nvoigt
@nvoigt, sa réponse diffère de beaucoup d'autres, du moins la deuxième ligne. C'est probablement mieux que d'autres solutions. Je pense qu'il est capturé sur stackoverflow.com/questions/6200533/… .
CoolMind