web-dev-qa-db-fra.com

Comment pouvons-nous augmenter la taille de la police dans toast?

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

35
Niki

Je pense que cela est réalisable:

    ViewGroup group = (ViewGroup) toast.getView();
    TextView messageTextView = (TextView) group.getChildAt(0);
    messageTextView.setTextSize(25);
56
slezadav

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();
28
Anil M H

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();
12
Nikolay Chorniy

Vous ne pouvez pas augmenter la taille de la police sans créer un CustomToastView .

This est une question connexe.

8
Wroclai

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.

2
John Lockwood

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.

0
reconditesea