Existe-t-il un moyen d'augmenter la taille de la police dans toast sans personnalisation?
Je ne veux pas créer une mise en page pour augmenter la taille du texte.
Y a-t-il un moyen?
Merci,
Niki
Je pense que cela est réalisable:
ViewGroup group = (ViewGroup) toast.getView();
TextView messageTextView = (TextView) group.getChildAt(0);
messageTextView.setTextSize(25);
c'est ...
Toast toast = Toast.makeText(context, R.string.yummyToast, Toast.LENGTH_SHORT);
//the default toast view group is a relativelayout
RelativeLayout toastLayout = (RelativeLayout) toast.getView();
TextView toastTV = (TextView) toastLayout.getChildAt(0);
toastTV.setTextSize(30);
toast.show();
Voici comment procéder avec des portées:
SpannableStringBuilder biggerText = new SpannableStringBuilder(text);
biggerText.setSpan(new RelativeSizeSpan(1.35f), 0, text.length(), 0);
Toast.makeText(context, biggerText, Toast.LENGTH_LONG).show();
Vous ne pouvez pas augmenter la taille de la police sans créer un CustomToastView
.
This est une question connexe.
En partant de la réponse d'Ani, une autre solution qui vous permet de définir la taille du texte sur une valeur de dimension serait quelque chose comme:
public static void showToast(Context context, int resId) {
Toast toast = Toast.makeText(context, resId, Toast.LENGTH_LONG);
LinearLayout toastLayout = (LinearLayout) toast.getView();
TextView toastTV = (TextView) toastLayout.getChildAt(0);
toastTV.setTextSize(TypedValue.COMPLEX_UNIT_PX,
context.getResources().getDimension(R.dimen.TEXT_SIZE));
toast.show();
}
Cela vous permet de faire correspondre la taille de vos toasts à la même taille que celle spécifiée dans les contrôles TextView et Button, par exemple.
Vous pouvez essayer de mettre le code suivant dans votre manifeste:
<supports-screens
Android:anyDensity="true"
Android:largeScreens="true"
Android:normalScreens="true"
Android:resizeable="true"
Android:smallScreens="true"/>
Mettez-le au-dessus du <Application>
élément.