自定義PopupWindow開發


近期工作需求,需要做一個彈出窗口,並且裏面包含2個設置項,一個進入詳細設置,一個快捷開關,界面如下:

 

//目前常規的動畫設置,如下幾種

mPopWindow.setAnimationStyle(Animation_Toast);

其中,可以設置的動畫值如下:

Animation

Animation_Activity:像Activity一樣出現,沒有特別的效果

Animation_Dialog:默認不設置時的效果,Dialog逐漸顯現,逐漸消失

Animation_InputMethod 從下往上進入,從上往下消失

Animation_Toast 像Toast一樣Fad In,Fad out

Animation_Translucent 測試效果是從右邊進入,


//更精細的動畫設置,包括進入,退出,setAnimationStyle其實是通過一組特別

//Style,代碼裏進一步設置具體的進入退出效果

        mPopWindow.setEnterTransition(new Slide(Gravity.LEFT));

        mPopWindow.setExitTransition(new Slide(Gravity.TOP));


接下來,針對顯示PopupWindow的位置,有兩種方式:

showAtLocation(View parent, int gravity, int x, int y)

傳入父view,以該view爲父佈局,設置對齊gravity,偏移x offset,y offset

showAsDropDown(View anchor, int xoff, int yoff)

以anchor View爲相對view,PopupWindow顯示在anchor view下面,xoff,yoff是相對anchor view的偏移


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章