标題有點拗口,其實是可以分别寫成兩篇博文的。也就是說看完這篇能了解兩個方面:
自定義布局樣式的Toast
自定義PopupWindow實作多功能Toast
先感性認識:

觸發事件來自于MenuItem的onClick,具體請看上一篇Android 自定義Menu
一 、自定義布局樣式的Toast
布局檔案dialog_toast.xml
使用這個自定義布局,解決多次Toast重複彈出。
二 、自定義PopupWindow實作多功能Toast
以下是MenuItem點選事件的完整代碼,詳細注釋了。
使用PopupWindow實作的Toast可以不受Toast.LENGTH_SHORT或Toast.LENGTH_LONG的時間限制,并且可以得到焦點和使用者互動,比如onClick等等。
Toast本身是一個非常便捷的提示元件,它的特點就是使用便捷,比如
這樣的一句代碼就可以給出使用者一個很友好的提示。
如果想做出複雜的互動功能,這些就不是Toast的定位了,需要自定義PopupWindow或者AlertDialog來實作,它們的定位在此。