Есть ли способ создать собственное уведомление о тосте? - PullRequest
1 голос
/ 03 января 2011

Я хочу создать сообщение Toast с пользовательским фоном и пользовательской округленной границей. Но, похоже, я не могу найти решение.

Ответы [ 7 ]

8 голосов
/ 03 января 2011

Я нашел два, я думаю, полезных примера ... Вчера я просто искал это, потому что я тоже заинтересован в этом.

http://blog.webagesolutions.com/archives/161

helloandroid.com / tutorials / how-customize-toasts

Невозможно опубликовать более одной ссылки -.- Вот почему вторая текстовая ...

Надеюсь, это поможет:)

3 голосов
/ 03 января 2011

Эта ссылка является отправной точкой - не уверен, какие элементы тоста можно настроить:

http://developer.android.com/guide/topics/ui/notifiers/toasts.html#CustomToastView

Эта ссылка (с примером XML) показывает, как вы можете изменить фон тоста и другие атрибуты

, тогда как эта ссылка показывает возможности настройки полей (в коде):

http://developer.android.com/reference/android/widget/Toast.html#setMargin(float, float)

2 голосов
/ 21 марта 2012

Custom Toast в Android можно легко сделать. Прежде всего. Создайте свой собственный макет xml с виджетами, которые вы хотите использовать в своем тосте, а затем накачайте макет. Затем используйте раздутый макет, чтобы найти объекты вида и установите его содержимое, затем создайте тост. Поскольку код будет длинным. Я только что объяснил, как я это сделал.

Я легко объяснил об этом в своем блоге: http://androiddesk.wordpress.com/2012/01/28/custom-notification-in-android-with-an-example/

Надеюсь, это помогло.

2 голосов
/ 04 февраля 2012

Вот код для настройки тоста:

LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout, (ViewGroup)findViewById(R.id.toast_layout_root));
TextView text = (TextView) layout.findViewById(R.id.txtToast);
text.setTypeface(typeface_obj);
setText(ArabicClass.Convert(getResources().getString(R.string.ar_netork_failure)));
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 200);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
1 голос
/ 02 декабря 2015
Toast toast =  Toast.makeText(getApplicationContext(),"Welcome",Toast.LENGTH_LONG);

View view = toast.getView();

TextView v = (TextView) toast.getView().findViewById(android.R.id.message);

v.setTextColor(Color.WHITE);

toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL,0, 0);

ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#f43f10"));

view.setBackgroundDrawable(colorDrawable);

toast.show();
0 голосов
/ 21 марта 2012

Если вы хотите свой собственный тост, то лучше всего создать собственный диалог, или вы можете сказать настраиваемое окно предупреждения, которое вы можете создать так же, как тост, в своем приложении, используя темы диалогового окна. Чтобы увидеть учебник для пользовательского ящика здесь есть ссылка на YouTube http://www.youtube.com/watch?v=NBXMoMB9-k0

Надеюсь, это поможет вам.

0 голосов
/ 14 апреля 2011

Вы можете найти здесь http://android -apps-blog.blogspot.com / 2011/04 / How to to display-custom-toast-in-android.html хороший учебник о том, как создать персонализированное уведомление о тосте.

...