Dialog 和 PopupWindow
参考 Dialog 和 Popupwindow
更多见于: Dialog 和 PopUpWindow的抉择
还是比较好奇 Dialog 和 PopupWindow 的区别的,一开始只觉得 Dialog 可能比较容易实现,适合一些简单的对话框,而 PopupWindow 则可以做一下比较复杂的布局。
最后看了别的博客之后发现两者的区别还是有的,在此做做笔记。
也就是说 AlertDialog 弹出时,后台还可以进行其他的操作,
而 Popupwindow 弹出的时候 后台进程会被阻塞 的,直到 Popupwindow 消失才会继续
还有设置 item 的点击事件的方法、设置宽高的方法都不尽相同,
具体也不详细的解释,看文档就差不多了
至于上面那个博客中提到的 AlertDialog 不可以设置宽为整个屏幕宽这一点,
其实还是可以的,原因是 AlertDialog 不能全屏是其默认的主题导致,
修改它的 style就可以实现,详情见我的另一篇 Dialog 笔记
关于 PopupWindow 也可以看看我写的 PopupWindow 笔记
总结起来,影响选择的因素最大的就是:
进程是否会被阻塞 、 弹出框的位置是否要求比较的特别 (意会)
其他的效果基本都能满足