效果圖

這裡隻是顯示了一個最基礎的自定義Toast,具體Toast顯示什麼内容,什麼動畫,自己去實作就可以了,隐藏可以使用CountDownTimer倒計時一段時間關閉,根據自己的需求自己定吧。
主要的思路很簡單,最關鍵的步驟就兩部:
拿到WindowManager,視窗的管理者
通過WindowManager對象調用addView方法,顯示。
API:
第一個參數是我們的自定義Toast的布局
第二個參數是我們設定Toast的參數
加載布局,布局檔案自己想怎麼寫就怎麼寫,代碼就不貼了。
設定布局的寬和高,這裡寬是充滿父窗體,高是包裹子布局。可以設定具體的置。
距離Y軸的距離,還有一個mParams.x是距離X軸的距離。
讓Toast居于手機螢幕底部
設定成Gravity.BOTTOM後,前面設定的mParams.y就是基于底部的距離,同理,如果設定成Gravity.TOP,就是基于頂部的距離,其它的就不一一舉例了。
設定不可擷取焦點
如果Toast是可以獲得焦點的,當Toast顯示以後,Toast就會搶奪焦點,這時候點選Toast意外的任何地方,事件都不會傳遞下去(沒有反映),這個根據自己的需求來看把,還有一些其他屬性,如螢幕常亮,是否可以點選等等,自己點出來看吧,不舉例了。
設定我們自定義的Toast也是一個Toast類型,我看還有還有其它好多類型,具體都是什麼效果我也沒試過,感興趣可以自己試試。
隐藏(移除)Toast
CountDownTimer的初始化:
CountDownTimer的使用:
說明:
上面倒計時效果為3秒,每一秒執行回調一次onTick方法,3秒倒計時結束回調onFinish方法