当点击某个按钮并弹出PopupWindow时,PopupWindow左下角默认与按钮对齐,但是如果PopupWindow是下图的那样,会发 生错位的情况,尤其是不同尺寸的平板上,那错位错的不是一般的不靠谱,而Android本身只提供了如下几个方法设置PopupWindow显示位置
- showAsDropDown(View anchor, int xoff, int yoff) 以anchor的左下角为参照点,定义偏移
- showAsDropDown(android.view.View) 以anchor的左下角为参照点,不偏移
- showAtLocation(View parent, int gravity, int x, int y) 以parent为主容器,gravity为对齐参照点,定义偏移
推荐用showAsDropDwon方法。
这里是为了让PopupWindow居中显示,所以需要自己定义横向位移偏移量(其他位置类似)
int xoff = window.getWidth()/2-parent.getWidth()/2; window.update(); window.showAsDropDown(parent, -xoff, 0);

本文介绍了在Android应用中如何使PopupWindow居中显示的方法。当点击按钮弹出PopupWindow时,默认情况下它会与按钮左下角对齐,这可能会导致在不同尺寸设备上的错位问题。文章提供了一个解决方案,通过计算横向位移偏移量来实现PopupWindow的居中显示。

6061

被折叠的 条评论
为什么被折叠?



