2012-03-05 2 views
19

まず、これは以前に尋ねられたことが分かっています:Button in custom Android Toast?。 これはほぼ正確な複製ですが、アプリで使用されていること、つまりICS用のGmail(メッセージを削除したときに表示される)に使用されているという事実に基づいて新しい疑問があると思います。トースト通知にボタンを含めるにはどうしたらいいですか?

Toastはフォーカスできないため、Toastにボタンを含めることはできません。これは間違っているか、古くなったのですか、Gmailがその周りに道を探しましたか?

+0

とにかくダイアログを使うことができます。 – androidavid

+4

Gmailのトーストは何を指していますか?そして、もっと重要なことは、それが「トースト」であることをどのように証明しましたか? – CommonsWare

+1

私はICS上でGmailを試したところ、どのような場合にボタンが表示されているのかわかりませんでした。カスタムのDialog、またはDialogを使った透明なカスタムアクティビティのほかに、トーストの外観や動作を真実とほとんど区別できないように模倣するのは本当に簡単です。 –

答えて

1

ボタンをトーストにしたい場合は、そのアイデアをやめるほうがよいでしょう。しかし、あなたはトーストの代わりにダイアログを使うことができます。デイロッグを使って、あなたが望むものを表示することができます(トーストと同じ機能です)。また、デイロッグでは、ボタンを設定することができます。

+3

私の場合はダイアログが動作しますが、Toastははるかに目立ちません.Gmailの例に戻って、Toastにはテキストと「元に戻す」ボタンが表示されます彼らはそれを取り消したいと思うでしょう。あなたがメッセージを削除するたびに1つがポップアップすると、ダイアログが非常に迷惑になります。 – jmgrosen

0

iOS上のGmailはトーストを提供しており、ダイアログを使用してユーザーフローを中断するよりはるかに優れたソリューションです。

[iOS用Gmailのトーストスタイルのメッセージ] [1] [1]:!http://i.stack.imgur.com/LWClq.jpg

このオプションを使用する場合は、トーストが必要な場合は元に戻す]をタップするユーザーのために十分な長さが表示されていることを確認します。情報のみのトーストでは2.5秒〜3秒ではなく5秒です。

CommonsWareが引用しているもう1つの例は、スワイプジェスチャの後に表示されるインラインフィードバックです。これはトーストではありませんが、アクションが実行されたというフィードバックを提供する素晴らしい方法です。

0

@Hazem(link)に記載されているUndoBarを拡張し、より一般的なものにして他のアクションにも使用できるようにしました。あなたは見ることができますhere

2

あなたが言及しているのは、トーストではなく、GoogleがSnackbarと呼んでいるものです。 Material Design guidelinesを参照してください。

GitHubでseveral implementationsが見つかりました。 SomeもUndoBarの名前で行きます

現在、最も広範で人気があり、アクティブなものはSnackbar by nispokと思われますが、これもまた使用しているようです。

関連する問題