Personnalisation des polices dans les mises en page XML (Android)
Comme vous l'avez remarqué, la définition de polices de widget dans les mises en page XML n'est actuellement pas prise en charge dans Android. Au lieu de cela, les polices ne peuvent être spécifiées qu'à l'aide de celles installées par le système.
Solutions alternatives
Pour surmonter cette limitation, vous disposez de quelques options :
Extension TextView personnalisée
Pour simplifier le processus de personnalisation, envisagez d'étendre la Classe TextView comme indiqué ci-dessous :
TextViewPlus.java :
public class TextViewPlus extends TextView { ... private void setCustomFont(Context ctx, String asset) { Typeface tf = null; try { tf = Typeface.createFromAsset(ctx.getAssets(), asset); } catch (Exception e) { ... } setTypeface(tf); } }
attrs.xml :
<declare-styleable name="TextViewPlus"> <attr name="customFont" format="string"/> </declare-styleable>
main .xml :
<LinearLayout ...> <com.example.TextViewPlus android:customFont="saxmono.ttf" ... /> </LinearLayout>
Avec cette extension, vous pouvez spécifier des polices dans les mises en page XML en définissant l'attribut customFont pour chaque widget. Le fichier saxmono.ttf doit être placé dans le dossier assets.
Remarque importante
Il convient de noter que l'utilisation de cette méthode peut entraîner des problèmes de mémoire. Voir le commentaire de chedabob pour plus de détails.
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!