Polices personnalisées et mises en page XML dans Android
Créer des mises en page GUI personnalisées à l'aide de fichiers XML dans Android peut s'avérer difficile lorsqu'il s'agit de spécifier des polices personnalisées pour les widgets. Par défaut, les fichiers XML utilisent uniquement les polices installées par le système.
Traditionnellement, les développeurs modifiaient les polices manuellement à l'aide d'ID uniques ou parcouraient les widgets en Java, ce qui peut être lent et fastidieux. Cependant, il existe de meilleures solutions disponibles.
Une méthode consiste à étendre la classe TextView pour implémenter des polices personnalisées :
public class TextViewPlus extends TextView { // ... public boolean setCustomFont(Context ctx, String asset) { // Attempt to create Typeface from the specified asset Typeface tf = Typeface.createFromAsset(ctx.getAssets(), asset); // Set the Typeface for this TextView setTypeface(tf); return true; } }
Dans la mise en page XML, vous pouvez ensuite utiliser un attribut personnalisé pour spécifier le police pour chaque TextView :
<com.example.TextViewPlus android:layout_height="match_parent" android:layout_width="match_parent" android:text="@string/showingOffTheNewTypeface" foo:customFont="saxmono.ttf"> </com.example.TextViewPlus>
Vous pouvez également utiliser des bibliothèques telles que Calligraphy pour simplifier le processus de définition de polices personnalisées sur plusieurs widgets. Ces bibliothèques fournissent un wrapper autour de TextView qui applique automatiquement la police spécifiée.
En tirant parti des classes TextView personnalisées ou de bibliothèques tierces, vous pouvez éviter les inconvénients de la définition manuelle des polices en Java et obtenir une apparence plus cohérente et élégante. pour vos widgets personnalisés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!