Intégration et Gestion des Polices Personnalisées avec TypefaceHelper sous Android

TypefaceHelper est une bibliothèque open-source conçue pour simplifier l'application de polices personnalisées aux vues textuelles sous Android. Elle facilite l'application de polices depuis les assets à l'ensemble des TextView et leurs sous-classes (telles que Button, RadioButton, EditText, etc.), tout en prévenant les fuites de mémoire potentiellement causées par la création directe de Typeface via les ressources.

Mise en œuvre rapide

Ajout de la dépendance

Intégrez TypefaceHelper à votre projet Android en ajoutant la dépendance suivante au fichier build.gradle de votre module :


dependencies {
   implementation 'com.drivemode:typefacehelper:1.2.0@aar'
}
   

Initialisation et Utilisation

Initialisez TypefaceHelper dans la méthode onCreate de votre classe Application. Il est crucial d'appeler la méthode destroy lors de la terminaison de l'application pour libérer les ressources.


public class MonApplication extends Application {
   @Override
   public void onCreate() {
       super.onCreate();
       TypefaceHelper.initialize(this);
   }

   @Override
   public void onTerminate() {
       TypefaceHelper.destroy();
       super.onTerminate();
   }
}
   

Dans une activité, vous pouvez assigner une police spécifique à une TextView :


public class MaActivite extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.layout_principal);
       
       TextView vueTexte = findViewById(R.id.texte_bonjour);
       TypefaceHelper.getInstance().setTypeface(vueTexte, "chemin/vers/ma_police.ttf");
   }
}
   

Alternativement, pour appliquer une police à toutes les vues textuelles du layout courant de l'activité, utilisez cette approche :


setContentView(TypefaceHelper.getInstance().setTypeface(this, R.layout.layout_principal, "chemin/vers/ma_police.ttf"));
   

Cas d'usage et bonnes pratiques

Application globale de polices

Pour garantir une uniformité typographique dans toute l'application, il est conseilllé de gérer la configuration des polices dans une classe Activity de base. Cela évite la répétition de code et assure la cohérence.


public abstract class ActiviteBase extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(getLayoutId());
       TypefaceHelper.getInstance().setTypeface(this, "chemin/vers/police_globale.ttf");
   }

   protected abstract int getLayoutId();
}
   

Prévention des fuites mémoire

TypefaceHelper centralise la gestion des polices, automatisant le traitement des références aux objets Typeface, ainsi prévenant les problèmes de fuites mémoire liés à une gestion manuelle directe.

Contexte et Évolution

TypefaceHelper est un composant utile pour les développeurs Android visant à personnaliser la typographie de leurs applications. Il s'intègre bien avec des frameworks UI comme Material Design pour créer une identité visuelle cohérente. Bien que ce projet semble avoir été archivé, indiquant une absence de maintainance active, il a historiquement servi de solution pratique pour la personnalisation des interfaces utilisateur dans de nombreuses applications Android.

Étiquettes: Android typeface police vue textuelle Gestion de Mémoire

Publié le 23 juillet à 01h39