Android的对话框常用的有两种:PopupWindow和AlertDialog。PopupWindow顾名思义为弹出菜单,不同于AlertDialog对话框,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等 |
下面是运行程序截图:
程序代码:
布局:main.xml
自定义对话框dialog.xml
代码: