天天看點

Android 用自定義PopupWindow實作自定義Toast

标題有點拗口,其實是可以分别寫成兩篇博文的。也就是說看完這篇能了解兩個方面:

自定義布局樣式的Toast

自定義PopupWindow實作多功能Toast

先感性認識:

Android 用自定義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來實作,它們的定位在此。