Как мы можем увеличить размер шрифта в тосте? - PullRequest
33 голосов
/ 11 марта 2011

Есть ли способ увеличить размер шрифта в тосте без настройки?

Я не хочу создавать макет для увеличения размера текста.

Есть ли способ?

Спасибо

Niki

Ответы [ 6 ]

52 голосов
/ 05 ноября 2012

Я полагаю, что это достигается благодаря:

    ViewGroup group = (ViewGroup) toast.getView();
    TextView messageTextView = (TextView) group.getChildAt(0);
    messageTextView.setTextSize(25);
26 голосов
/ 31 мая 2013

это ...

 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();
11 голосов
/ 17 ноября 2014

Вот как это сделать с пролетами:

SpannableStringBuilder biggerText = new SpannableStringBuilder(text);
biggerText.setSpan(new RelativeSizeSpan(1.35f), 0, text.length(), 0);
Toast.makeText(context, biggerText, Toast.LENGTH_LONG).show();
8 голосов
/ 11 марта 2011

Вы не можете увеличить размер шрифта, не создав CustomToastView.

Это связанный вопрос.

1 голос
/ 26 июля 2014

Если исходить из ответа Ани, другое решение, позволяющее установить размер текста для значения измерения, будет выглядеть примерно так:

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();
}

Это позволяет вам соответствовать размеру, который вы получаете, чтобы тосты были такими же, как указано, например, в элементах управления TextView и Button.

0 голосов
/ 14 мая 2012

Вы можете попытаться вставить следующий код в свой манифест:

<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"/> 

Поместите его над элементом <Application>.

...