web-dev-qa-db-fra.com

Comment définir le poids de la police comme étant léger, régulier dans Android

J'ai 3 vues de texte. Je dois définir leur poids sur Léger, Régulier et Condensé. Quelqu'un peut-il m'aider sur la façon de réaliser cela dans Android?

22
user4582135

Utilisez Android:textStyle sur une TextView pour définir le style de texte comme bold, italique ou normal.

Voici un exemple de TextView avec un style de texte bold:

<TextView
  Android:id="@+id/hello_world"
  Android:text="hello world"
  Android:layout_width="wrap_content"
  Android:layout_height="wrap_content"
  Android:textStyle="bold"/>

Si vous voulez utiliser light ou condensé, vous devrez changer de police. Vous pouvez le faire comme ça:

Android:fontFamily="sans-serif-light"

Pour plus d'informations sur les polices, consultez également la réponse suivante Valeurs valides pour Android: fontFamily et à quoi correspondent-elles?

46
jfmg

Vous ne pouvez afficher une TextView que Léger, Normal et Condensé si la police que vous référencez autorise ces styles. 

Par exemple, si vous importez une police dans votre projet et que celle-ci n'est pas claire ou condensée, je ne pense pas qu'il soit (oserais-je dire) possible de faire apparaître le texte avec ce style dans votre TextView. Si vous importez votre propre police, utilisez-la par programme, par exemple. Dans votre activité, déclarez un TextView global:

private TextView tv;

Ensuite, dans onCreate (), référencez le fichier de police que vous avez enregistré dans/assets: 

Typeface someFontName-condensed = Typeface.createFromAsset(getAssets(), "assets/NameOfFont-condensed.ttf");

tv = (TextView) findViewById(R.id.myTextViewId);
tv.setTypeface(someFontName-condensed);

Notez que j'ai importé la version condensée de mon fichier de police (au format .ttf) et non sous la forme d'une police empaquetée .ttc. Vous pouvez importer différentes versions de style d'une police, mais vous devez les importer sous forme de fichiers .ttf individuels au lieu d'un seul fichier car vous souhaitez référencer le style spécifique .ttf. 

Cependant, si vous utilisez une police système qui vous permet de référencer différents styles à partir de votre xml, voyez ce qu'ils disent ici:

Valeurs valides pour Android: fontFamily et à quoi correspondent-elles?

Comme on dit, pour quelque chose comme Roboto, vous utiliserez fontFamily. 

0
robkriegerflow