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如下,实现了相同的效果

https://download.csdn.net/download/crystal_xing/10739374

猜你喜欢

转载自blog.csdn.net/Crystal_xing/article/details/83308771