web-dev-qa-db-fra.com

Comment récupérer une liste des polices disponibles / installées dans Android?

En Java je ferais quelque chose comme:

Java.awt.GraphicsEnvironment ge = 
                      Java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = ge.getAllFonts(); 

y a-t-il un Android équivalent?

33
ab11

Tiré de la réponse de Mark Murphy sur la Android Developers:

http://developer.Android.com/reference/Android/graphics/Typeface.html

Il n'y a que trois polices: normale (Droid Sans), serif (Droid Serif) et monospace (Droid Sans Mono).

Bien qu'il puisse y avoir des polices supplémentaires enfouies quelque part dans WebKit, elles semblent inaccessibles aux développeurs en dehors de WebKit. :

Les seules autres polices sont toutes les polices TrueType que vous regroupez avec votre application.

Edit: Roboto est une nouvelle police fournie avec Android 4.0. Vous pouvez utiliser ce projet de bibliothèque pour l'utiliser dans toutes les versions jusqu'au niveau API 4 --- (https: // github. com/mcalliph/roboto-text-view

40
matto1990

Concernant la question réelle, voici un moyen de créer une liste de toutes les polices disponibles installées:

String path = "/system/fonts";
File file = new File(path);
File ff[] = file.listFiles();

Le tableau ff [] contiendra tous les fichiers de polices.

18
Apostolos

Il n'y a que 3 polices disponibles dans le cadre d'Android; normal (Droid Sans), serif (Droid Serif) et monospace (Droid Sans Mono).

Les applications peuvent inclure leurs propres polices TrueType mais ne peuvent pas les installer pour une utilisation par d'autres applications.

quelques liens sur les polices:

8
Colin Pickard