Je souhaite modifier la police de caractères par défaut des éléments du menu de débordement et définir une police de caractères personnalisée.Comment définir un caractère pour les éléments de menu dans le menu de débordement de la barre d'outils
J'ai essayé d'ajouter une usine au LayoutInflater
et dans la méthode onCreateView()
j'ai changé le caractère du TextView. Mais ça n'a pas marché. Voici le code (Inside onCreateOptionsMenu),
getLayoutInflater().cloneInContext(this).setFactory(new LayoutInflater.Factory() {
@Override
public View onCreateView(String name, Context context, AttributeSet attrs) {
if (name.contains("com.android.internal.view.menu.IconMenuItemView")) {
try {
LayoutInflater li = LayoutInflater.from(context);
final View view = li.createView(name, null, attrs);
new Handler().post(new Runnable() {
@Override
public void run() {
((TextView) view).setTypeface("custom_typeface");
}
});
return view;
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
});
En fait, quand je déboguer le code, il n'a jamais atteint l'intérieur onCreateView().
Alors, comment résoudre ce problème?
Merci.
, il devrait être évident ... et vous avez cloné réglé en usine ... mais jamais utiliser il ... – Selvin
@Selvin pouvez-vous expliquer plus .. – chathura
lire la documentation de cloneInContext - il crée une copie ... et ... avec une pensée logique minimale, vous devriez savoir que vous n'utilisez jamais cette copie – Selvin