Ответ 1
Панель отмены Gmail не является тостом, вот как Google это сделал
Я думаю, это отвечает на ваш вопрос.
Прежде всего, я знаю, что это было задано раньше: кнопка в пользовательском Android Toast?. Это почти точный дубликат, но я думаю, что он требует нового вопроса, основанного на том, что он использовался в приложениях, а именно Gmail для ICS (появляется при удалении сообщения).
В связанном вопросе говорится, что включение кнопки в Toast
невозможно, потому что Toast
не может быть сфокусировано. Это неправильно, устарело или Gmail нашел способ обойти это?
Панель отмены Gmail не является тостом, вот как Google это сделал
Я думаю, это отвечает на ваш вопрос.
То, что вы имеете в виду, это не тост, а то, что Google назвал Snackbar. См. Руководство по разработке материалов.
Вы можете найти несколько реализаций этого на GitHub. Некоторые также идут по имени UndoBar
В настоящее время наиболее обширным, популярным и активным кажется Snackbar by nispok, который я также использую.
Если вы хотите, чтобы в тосте была кнопка, лучше бы вы прекратили эту идею. Но вместо тостов вы можете использовать диалоги. Используя dailogs, вы сможете отображать все, что хотите (такая же функция, как и тост). Также в dailog вы можете установить кнопки.
Gmail на iOS действительно обеспечивает тост, и это гораздо лучшее решение, чем прерывание потока пользователей с помощью диалога.
! [Сообщение о стиле тоста в Gmail для iOS] [1] [1]: http://i.stack.imgur.com/LWClq.jpg
Если вы используете этот параметр, убедитесь, что тост отображается достаточно долго, чтобы пользователь мог отменить отмену, если это необходимо. Таким образом, 5 секунд в отличие от 2,5-3 секунд в тосте только для информации.
Другой пример, приведенный в CommonsWare, - это встроенная обратная связь, которая отображается после жестов салфетки. Это не тост, но это отличный способ предоставить обратную связь, что действие было выполнено.
Я расширил UndoBar, упомянутый @Hazem (ссылка) и сделал его более общим, чтобы его можно было использовать и для других действий. Вы можете посмотреть здесь.