Comment modifier les paramètres text/font dans un Android TextView
? Par exemple, comment créez-vous le texte gras?
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.
Voici la solution
TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
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.
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)
Définir l'attribut
Android:textStyle="bold"
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>");
C'est très facile
setTypeface(Typeface.DEFAULT_BOLD);
Si vous le dessinez, cela le fera:
TextPaint.setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
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
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"
La meilleure façon de faire est:
TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
4 façons de rendre Android TextView bold - La réponse complète est disponible.
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.
en utilisant la méthode setTypeface ()
textview2.setTypeface(null, Typeface.BOLD);
textview2.setText("TEXTVIEW 2");
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));
dans fichier .xml, défini
Android:textStyle="bold"
va définir le type de texte est en gras.
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
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"
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>
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);
définira les caractères et le style sur Gras.