web-dev-qa-db-fra.com

Comment changez-vous le texte en gras dans Android?

Comment modifier les paramètres text/font dans un Android TextView? Par exemple, comment créez-vous le texte gras?

392
nithin

Pour ce faire dans le fichier layout.xml:

Android:textStyle

Exemples:

Android:textStyle="bold|italic"

Par programme, la méthode est la suivante:

setTypeface(Typeface tf)

Définit la police et le style dans lesquels le texte doit être affiché. Notez que toutes les familles Typeface ne disposent pas de variantes en gras et en italique. Vous devrez donc peut-être utiliser setTypeface(Typeface, int) pour obtenir l'apparence souhaitée.

512
Phobos

Voici la solution

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

Vous pouvez simplement faire ce qui suit:

Définissez l'attribut dans XML

  Android:textStyle="bold"

Par programme, la méthode est la suivante:

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.

71
saeed

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, serif & monospace via xml, code Java pouvez utiliser des polices personnalisées

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

Par programme (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)
52
Salim

Définir l'attribut

Android:textStyle="bold"
22
koljaTM

Dans le cas où vous utilisez des polices personnalisées, mais que vous n’avez pas de caractère gras, vous pouvez utiliser:

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

C'est très facile

setTypeface(Typeface.DEFAULT_BOLD);
17
HatemTmi

Si vous le dessinez, cela le fera:

TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
16
noelicus

Dans un monde idéal, vous définiriez l'attribut de style de texte dans la définition XML de votre présentation de la manière suivante:

<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 en utilisant la méthode setTypeface. Vous devez passer et faire l'objet de la classe Typeface , qui décrira le style de police de cette TextView. Donc, pour obtenir le même résultat qu'avec la définition XML ci-dessus, vous pouvez procéder comme suit:

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 de la forme objet (dans ce cas Typeface.BOLD , mais il en existe beaucoup plus). Une fois que nous avons une instance de caractère, nous pouvons la définir sur le TextView. Et c'est tout notre contenu sera affiché sur 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

15
IntelliJ Amiya

Définir un nouveau style avec le format souhaité dans le fichier style.xml du dossier de 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 à TextView en écrivant le code suivant avec les propriétés de TextView

style="@style/TextViewStyle"
10
Seven

La meilleure façon de faire est:

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

4 façons de rendre Android TextView bold - La réponse complète est disponible.

  1. Utiliser 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. en utilisant la méthode setTypeface ()

    textview2.setTypeface(null, Typeface.BOLD);
    textview2.setText("TEXTVIEW 2");
    
  3. HtmlCompat.fromHtml (), Html.fromHtml () était obsolète dans le niveau 24 de l'API.

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

dans fichier .xml, défini

Android:textStyle="bold" 

va définir le type de texte est en gras.

5
Hoang Nguyen Viet

En supposant que vous soyez un nouveau démarreur sur Android Studio, vous pouvez le faire simplement en mode Création 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
5
Dan Tilakaratne

Vous pouvez l'utiliser pour la police

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

carte statique privée 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();
    }
}

coller 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 mise en page parent dans le fichier xml

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

Dans mon cas, le passage de valeur par string.xml a fonctionné avec Tag HTML ..

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

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

définira les caractères et le style sur Gras.

1
Sanket Patankar