Polices de caractères

 

Il est possible d'utiliser plusieurs polices de caractères dans vos Widgets.

 

Polices natives

Nativement, Android en connait quatre:

- sans

- sérif

- normal

- monospace

 

Vous pouvez donc facilement utiliser ces fontes dans votre application:

Sous Eclipse, ouvrez votre fichier XML (main.xml) et cliquez sur l'onglet Graphical Layout qui va vous permettre de visualiser le rendu graphique de votre activité.

Posez un widget de type texte (TextView, EditText, ...). Pour modifier la fonte utilisée, faîtes un clique droit sur le widget et choisissez l'option

"Other Properties\Defined by TextView\Type Face"

Vont alors apparaître les quatre fontes disponibles par défaut, vous n'avez plus qu'à choisir !

Pour les plus curieux d'entre vous, faîtes un clique sur l'onglet permettant de visualiser le contenu textuel de votre fichier xml, et vous constaterez qu'un nouvel attribut est ajouté sur le widget pour lequel vous avez effectué le changement de police: android:typeface

Par exemple pour une fonte "monospace":

android:typeface="monospace"

Image non trouvée !Vous noterez que sous "Other Properties\Defined by TextView\", il sera possible de définir le type (Bold, italic, normal...) mais aussi la taille, et bien d'autres choses encore !

 

Polices personnelles

Il sera possible d'utiliser d'autres polices. Mais dans ce cas, vous devrez les fournir avec votre projet.

Android sachant décoder les polices True Type (ttf de Microsoft), vous aurez donc l'embarras du choix !

Par contre, l'utilisation de la police passera par du code, impossible de définir la fonte via le fichier XML !

Image non trouvée ! Attention à la taille que peuvent occuper ces polices au niveau du file system ! Votre application peut vite devenir gourmande en ressource !

Image non trouvée !Pour une raison que j'ignore, certaines fontes peuvent ne pas être utilisable par Android. Dans ce cas, la police sera automatiquement remplacée par celle par défaut.

 

Généralement, les fontes seront placées sous le répertoire assets/polices.

Comment faire ?

Reprenons l'exemple simple de HelloWorld, celui proposé par défaut par éclipse. (L'exemple ici et des explications !)

Vous avez donc un code comme ceci:

Image non trouvée !J'ai pris la police segoesc.ttf pour mon exemple, mais vous pouvez en prendre une autre, pensez alors à modifier le code !

Image non trouvée !Généralement sous Android, vous renommerez les fichiers fontes en minuscule (il s'agit plus d'une convention, tout est déjà en miniscule dans vos ressources).

On peut donc voir qu'il existe une classe nommée Typeface qui va permettre de modifier par code la police à utiliser.

Ce n'est pas tout, je cherche en effet le widget contenant le texte Hello World dans mon exemple. Pour y parvenir, je l'ai nommé dans le fichier main.xml: Text1

Voir l'attribut android:id="@+id/Text1"

Et voilà, il n'y a plus qu'à lancer ce super code !

Image non trouvée !

 

 

 

 

 

Vous manquez de fontes, voici un site qui en propose énormément:

Image non trouvée !