本质区别为:AlertDialog是阻塞式对话框:AlertDialog弹出时,后台还可以做
事情;而PopupWindow是阻塞式对话框:PopupWindow弹出时,程序会等待,在
PopupWindow退出前,程序一直等待,只有当我们调用了dismiss方法后,Popup
Window退出,程序才会向下执行。这两种区别的表现是:AlertDialog弹出时,背景是
黑色的,但是当我们点击背景,AlertDialog会消失,证明程序不仅响应AlertDialog
的操作,还响应其他操作,其他程序没有被阻塞,这说明了AlertDialog是非阻塞式对
话框;PopupWindow弹出时,背景没有什么变化,但是当我们点击背景的时候,程序没
有响应,只允许我们操作PopupWindow,其他操作被阻塞。
AlertDialog的位置国定,而PopupWindow的位置可以随意。PopupWindow的位
置按照有无偏分,可以分为偏移和无偏移两种;按照参照物的不同,可以分为相对于某个
控件和相对于付空间。具体如下:
ShowAsDropDown(View anchor):相对于某个控件的位置(正左下方),无偏移
showAsDropDown(View anchor,int xoff,int yoff):相对于某个控件的位置,
有偏移
showAtLocation(View parent,int gravity,int x,int y):相对于父控件的位
置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移
分享到:
相关推荐
AlertDialog 各种各样的对话框和结合popupwindow使用
NULL 博文链接:https://18767136122.iteye.com/blog/2117819
NULL 博文链接:https://676744379-qq-com.iteye.com/blog/1122485
史上最全面的PopupWindow总结!详细总结了开发PopUpWindow中遇到的各种问题。
在使用UC-WebBrowser时,你会发现它...其实,它的本身是PopupWindow或者是AlertDialog对话框,在里面添加两个GridView控件,一个是菜单标题栏,一个是菜单选项。菜单选项视图的切换可以通过适配器的变换,轻松地实现。
DialogFragment,解决PopupWindow中EditText无法复制粘贴问题。Blog地址:https://blog.csdn.net/qq_37077360/article/details/83505119
一个类似UC右上角的弹出菜单(使用PopupWindow)实例
1、对话款我们用的是popupwindow,不是alertdialog对话框,两者是有区别的:前者是阻塞型,即popupwindow会阻塞主线程,当popupwindow弹出来后,主线程暂停工作,只有popupwindow退出后,主线程才会恢复;...
为什么用PopupWindow?PopupWindow相较于AlertDialog,可以很方便的指定要显示的位置,如相对某个控件的位置,相对父容器的位置。
PopupWindow使用,简单详细,很多被用在二级菜单等处!能达到AlertDialog的效果!
对于AlertDialog和PopupWindow两者最主要的区别就是显示的位置问题: (1)AlertDialog在位置显示上是固定的 (2)PopupWindow相对比较随意,能够在主屏幕的任意位置显示。 二、效果图 三、代码 (1)...
分解一下: 1. 利用Shaper设置一个半透明圆角背景 ...3. Menu事件, 通过PopupWindow或者AlertDialog或者透明Activity显示到页面即可。 4. 按钮的监听事件,实例中没加。需要的话自己在Adapter里加
介绍过AlertDialog之后,接下来就介绍一下PopupWindow这种对话框。PopupWindow是阻塞对话框,只有在外部线程或者PopupWindow本身做退出操作才行。PopupWindow完全依赖Layout做外观,在常见的开发中,PopupWindow应该...
PopupWindow完全依赖Layout做外观,在常见的开发中,PopupWindow应该会与AlertDialog常混用。 先贴出本例中运行的结果图: main.xml的源码如下: <?xml version=1.0 encoding=utf-8?> <LinearLayout ...
PopupWindow相较于AlertDialog,可以很方便的指定要显示的位置,如相对某个控件的位置,相对父容器的位置。
其实,它的本身是PopupWindow或者是AlertDialog对话框,在里面添加两个GridView控件,一个是菜单标题栏,一个是菜单选项。菜单选项视图的切换可以通过适配器的变换,轻松地实现。点击下载该实例:一、运行截图: ...
在开发过程中,如果要弹出一个对话框,一般是使用AlertDialog,但其使用限制太大,灵活性不够,所以我们常需要用到灵活性更高的PopupWindow, 如图,当点击显示的时候,就会弹出一个对话框,当点击确定或屏幕其它...
不知道大家是否用过天天动听,对于它界面上的半透明Menu效果,笔者感觉非常漂亮。下面是天天动听半透明Menu的截图,欣赏下吧: 感觉还不错吧?... Menu事件, 通过PopupWindow或者AlertDialog或者透明Activ
AlertDialog跟WIN32开发中的Dialog不一样,AlertDialog是非阻塞的,而阻塞的对话框用的是PopupWindow。先贴出程序运行的截图:main.xml的源码:viewplaincopytoclipboardprint?01....
PopupWindow,弹出框使用PopupWindow实现,这是点赞和评论的载体,具体要涉及 PopupWindow 点击非窗口位置和再次点击消失以及显示位置的问题(根据相应更多按钮的位置确定 PopupWindow 的显示位置 package ...