1. 程式人生 > >Android Dialog和PopWindow的區別

Android Dialog和PopWindow的區別

       從效果上去總結看,dialog和popWindow在一般的彈出效果上能做到一樣的效果,但是dialog預設在螢幕的居中彈出,popWindow則可以更靈活的通過設定動化效果,從上下左右邊緣地帶彈出來,還能更方便的控制顯示在螢幕上的位置,在showAtLocation()中傳入偏移量x,y的值就行,程式碼如下:

      this.showAtLocation(view, Gravity.CENTER, 0, 0);

       這是dialog比popWindow更有優勢的2點。但是從需求上,如果讓顯示的就是居中彈出的小視窗,背景帶蒙層,那麼用dialog更方便,因為popWindow得手動新增蒙層,不如dialog便捷,而且當按下物理返回鍵的時候,dialog會dismiss,但是popWindow預設不會進行dismiss操作,程式會最小化,也就是說,popWindow要手寫物理按鍵的監聽

封裝的popWindow和dialog的Demo如下,實現了相同的效果