Comment changer la police de caractères dans un TextView
Par défaut, c'est Arial qui s'affiche ? Comment le changer en Helvetica
?
Réponses
Trop de publicités?Tout d'abord, la valeur par défaut n'est pas Arial. La valeur par défaut est Droid Sans.
Deuxièmement, pour passer à une autre police intégrée, utilisez la fonction android:typeface
dans la présentation XML ou setTypeface()
en Java.
Troisièmement, il n'y a pas de police Helvetica dans Android. Les choix intégrés sont Droid Sans ( sans
), Droid Sans Mono ( monospace
), et Droid Serif ( serif
). Bien que vous puissiez intégrer vos propres polices de caractères à votre application et les utiliser par l'intermédiaire de setTypeface()
Les fichiers de polices de caractères sont volumineux et, dans certains cas, nécessitent des accords de licence (par ex, Helvetica, une police Linotype ).
EDIT
Le langage de conception d'Android repose sur tels que l'échelle, l'espace, le rythme et l'alignement sur une grille sous-jacente. Le déploiement réussi de ces outils est essentiel pour aider les utilisateurs à à comprendre rapidement un écran d'information. Pour favoriser cette utilisation de la typographie, Ice Cream Sandwich a introduit typographie, Ice Cream Sandwich a introduit une nouvelle famille de caractères appelée Roboto, créée spécifiquement pour répondre aux exigences de l'interface utilisateur et des écrans haute résolution. et des écrans haute résolution.
Le cadre actuel de TextView offre Rob et gras, ainsi qu'un style italique pour chaque graisse. Le cadre propose également le style Roboto et en gras, ainsi qu'un style italique pour chaque graisse.
Après ICS, Android inclut le style de police Roboto, En savoir plus Roboto
EDIT 2
Avec l'avènement de la bibliothèque de support 26, Android peut désormais offrir des services de support aux utilisateurs. par défaut. Vous pouvez insérer de nouvelles polices dans res/fonts qui peuvent être définies individuellement pour les TextViews, soit en XML, soit par programmation. La police par défaut pour l'ensemble de l'application peut également être modifiée en la définissant dans le fichier styles.xml. La documentation destinée aux développeurs Android contient un guide clair à ce sujet. aquí
Téléchargez d'abord le .ttf
de la police dont vous avez besoin ( arial.ttf
). Placez-la dans le assets
dossier. (Dans le dossier assets, créer un nouveau dossier nommé polices de caractères et le placer à l'intérieur). Utilisez le code suivant pour appliquer la police à votre TextView
:
Typeface type = Typeface.createFromAsset(getAssets(),"fonts/arial.ttf");
textView.setTypeface(type);
Vous pourriez vouloir créer classe statique qui contiendra toutes les polices. De cette manière, vous ne créerez pas la police plusieurs fois, ce qui pourrait avoir des conséquences néfastes sur la qualité de l'information. performance . Veillez simplement à créer un sous-dossier appelé " polices de caractères " sous " actifs dossier ".
Faites quelque chose comme :
public class CustomFontsLoader {
public static final int FONT_NAME_1 = 0;
public static final int FONT_NAME_2 = 1;
public static final int FONT_NAME_3 = 2;
private static final int NUM_OF_CUSTOM_FONTS = 3;
private static boolean fontsLoaded = false;
private static Typeface[] fonts = new Typeface[3];
private static String[] fontPath = {
"fonts/FONT_NAME_1.ttf",
"fonts/FONT_NAME_2.ttf",
"fonts/FONT_NAME_3.ttf"
};
/**
* Returns a loaded custom font based on it's identifier.
*
* @param context - the current context
* @param fontIdentifier = the identifier of the requested font
*
* @return Typeface object of the requested font.
*/
public static Typeface getTypeface(Context context, int fontIdentifier) {
if (!fontsLoaded) {
loadFonts(context);
}
return fonts[fontIdentifier];
}
private static void loadFonts(Context context) {
for (int i = 0; i < NUM_OF_CUSTOM_FONTS; i++) {
fonts[i] = Typeface.createFromAsset(context.getAssets(), fontPath[i]);
}
fontsLoaded = true;
}
}
De cette façon, vous pouvez obtenir la police de caractères partout dans votre application.