Maison > Java > javaDidacticiel > Comment puis-je utiliser efficacement les polices personnalisées dans les mises en page XML Android ?

Comment puis-je utiliser efficacement les polices personnalisées dans les mises en page XML Android ?

Linda Hamilton
Libérer: 2024-12-11 05:10:11
original
447 Les gens l'ont consulté

How Can I Use Custom Fonts in Android XML Layouts Efficiently?

Polices personnalisées et mises en page XML dans Android

Dans Android, les mises en page XML offrent un moyen pratique de définir une interface utilisateur. Cependant, ils n'offrent pas la possibilité de spécifier des polices personnalisées à utiliser dans les widgets. Bien que le code Java puisse être utilisé pour définir la police de widgets individuels, cette approche est lourde et prend du temps.

Police personnalisée via Extended TextView

Pour résoudre cette limitation , nous pouvons étendre la classe TextView comme :

TextViewPlus.java

public class TextViewPlus extends TextView {

    // Set custom font using asset file
    public boolean setCustomFont(Context ctx, String asset) {
        Typeface tf = null;
        try {
            tf = Typeface.createFromAsset(ctx.getAssets(), asset);
        } catch (Exception e) {
            return false;
        }
        setTypeface(tf);
        return true;
    }

}
Copier après la connexion

Déclaration d'attribut XML

Ensuite, nous déclarons l'attribut de police personnalisé dans le fichier 'attrs.xml' :

<declare-styleable name="TextViewPlus">
    <attr name="customFont" format="string" />
</declare-styleable>
Copier après la connexion

XML Utilisation de la mise en page

Dans la mise en page 'main.xml', nous pouvons désormais utiliser la police personnalisée dans un widget TextViewPlus :

<com.example.TextViewPlus
    customFont="saxmono.ttf"
    ... />
Copier après la connexion

Mise à jour : problèmes de mémoire

Il est important de noter que cette méthode soulève des inquiétudes quant à l'utilisation de la mémoire. Chaque fois que « setCustomFont » est appelé, un nouvel objet Typeface est créé, ce qui peut entraîner des problèmes de performances. Pour les applications critiques en termes de performances, envisagez des approches alternatives ou utilisez cette solution judicieusement.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal