当点击某个按钮并弹出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 UI设计--PopupWindow显示位置设置

相关文章:

  • 2022-01-11
  • 2021-05-18
  • 2021-07-02
  • 2022-12-23
  • 2021-04-21
  • 2021-08-02
  • 2021-12-08
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案