android中Dialog和PopupWindow的区别

 我来答
从空去听8
2017-10-01 · TA获得超过7440个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5590万
展开全部
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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式