Réduire la taille des polices des composants de AlertDialog.Builder
J'ai créé un AlertDialogue
en utilisant le code suivant :
int selectedModeId=0;
public void sortTypeModeSelection(){
AlertDialog.Builder alertBuilder=new AlertDialog.Builder(WatchListDetailActivity.this);
alertBuilder.setSingleChoiceItems(R.array.watchlist_sorting_modes,selectedModeId, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
switch (which){
case 0:
selectedModeId=0;
break;
case 1:
selectedModeId=1;
break;
case 2:
selectedModeId=2;
break;
case 3:
selectedModeId=3;
break;
case 4:
selectedModeId=4;
break;
case 5:
selectedModeId=5;
break;
case 6:
selectedModeId=6;
break;
case 7:
selectedModeId=7;
break;
}
dialog.cancel();
}
});
alertBuilder.show();
}
J'ai fait de l'alerte, mais je veux réduire la taille de la police des éléments de la liste de la boîte de dialogue. Comment puis-je faire cela?
Note: recommandons de Ne pas gonfler une mise en page personnalisée pour ce faire, je souhaite savoir si il existe une autre approche.
source d'informationauteur edwin
Vous devez vous connecter pour publier un commentaire.
J'ai été en mesure d'atteindre cet objectif par les styles. J'ai ajouté ce style à mon
styles.xml
fichier dans les valeurs répertoire:Puis lors de la création de la
AlertDialog
j'ai enveloppé le contexte d'activité dans unContextThemeWrapper
et le passé que dans leBuilder
constructeur:Ce produit de plus petite taille du texte pour les éléments de la liste dans la boîte de dialogue.
vous devez utiliser une mise en page personnalisée.
vérifier le code ci-dessous, il vous aidera à vous
ligne fichier:
Je ne vois pas pourquoi vous auriez besoin de modifier la taille du texte sans l'aide d'une mise en page personnalisée de fichier comme indiqué dans le présent réponses(sauf si vous êtes peut-être la mise en œuvre de certains de tri de l'accessibilité de l'option de maintien de la plate-forme actuelle de regarder et de sentir?). De toute façon vous pouvez toujours modifier la taille du texte en modifiant directement la boîte de dialogue de la liste. Quelque chose comme ceci:
où la
changeCurrentVisibleSize()
etupdateRow()
méthode sont:Augmentant le texte devrait fonctionner correctement, en diminuant le texte devrait à nouveau fonctionner correctement(mais dans ce cas, la ligne va continuer à avoir une certaine hauteur en fonction de la disposition de fichier utilisé).
Essayer comme ci-dessous :
C'est juste une façon que je vous montre le chemin de son possible.
Et dans layout/menu_items.xml :
J'espère que ça va vous aider.
Grâce.