Android的对话框有两种:PopupWindow和AlertDialog区别

1.  Android的对话框有两种:PopupWindowAlertDialogweb

 

它们的不一样点在于:AlertDialog的位置固定,而PopupWindow的位置能够随意
AlertDialog是非阻塞线程的,AlertDialog弹出的时候,后台但是还能够作其余事情的哦。 
this

PopupWindow是阻塞线程的, 这就意味着在咱们退出这个弹出框以前,程序会一直等待spa


PopupWindow的位置按照有无偏移分,能够分为偏移和无偏移两种;按照参照物的不一样,能够分为相对于某个控件(Anchor锚)和相对于父控件。具体以下

showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移

showAsDropDown(View anchor, int xoff, int yoff):相对某个控件的位置,有偏移

showAtLocation(View parent, int gravity, int x, int y):相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),能够设置偏移或无偏移
线程

 

LayoutInflater layoutInflater = LayoutInflater.from(this);ci

      View popupWindow = layoutInflater.inflate(R.layout.popup, null);it

相关文章
相关标签/搜索