您的位置首页快问快答

android中Dialog和PopupWindow的区别

android中Dialog和PopupWindow的区别

的有关信息介绍如下:

android中Dialog和PopupWindow的区别

android的系统弹出控件很多,Toast,OptionsMenu,Dialog,PopupWindow等。一大堆的弹出控件,文档又没有明确说出各控件应用于哪些场景,使得实际开发中很多鸡肋,有时候自己花很多力气去尝试做一个弹出控件,结果才发现用错了api接口。

最近在做一个项目,要求用户在title栏中点击button弹出检索框进行搜索。在网上找了很多,最开始想的是用AlertDialog,我要做的效果是弹出框宽度为全屏:match_parent,高度为自适应:wrap_content,底层为背景半透明。但是在学习过的源码中从来没有见到过占满全屏的Dialog弹框,所以想着用PopupWindow来做。

以下根据网上查阅的资料,整理了Dialog和PopupWindow的一些区别,涉及到弹框场景时,以作参考。

AlertDialog和Popupwindow的区别:

1)AlertDialog是非阻塞线程的,Popupwindow是阻塞线程的。

2)Dialog没法设置宽为整个屏幕宽,总有点边界。Popupwindow可以。

1、Dialog及设置Dialog的动画

设置D