天天看點

自定義Toast自定義Toast

效果圖

自定義Toast自定義Toast

這裡隻是顯示了一個最基礎的自定義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方法

繼續閱讀