Android popupwindow 叠加显示
时间: 2023-08-15 21:07:07 浏览: 206
如果您的PopupWindow与另一个视图重叠,可以使用`PopupWindow`类的`showAsDropDown()`方法来指定弹出窗口的位置。这个方法可以让弹出窗口相对于给定的锚点视图显示,而不是相对于屏幕的左上角。以下是一个示例:
```java
popupWindow.showAsDropDown(anchorView, xOffset, yOffset);
```
其中,`anchorView`是锚点视图,`xOffset`和`yOffset`是弹出窗口的偏移量。您可以通过调整这些值来控制弹出窗口的位置。如果您不想将弹出窗口与锚点视图重叠,可以增加yOffset值或者修改锚点视图的位置来避免重叠。
如果您需要更高级的控制,可以使用`PopupWindow`类的`update()`方法来更新弹出窗口的位置。以下是一个示例:
```java
int[] location = new int[2];
anchorView.getLocationOnScreen(location);
int x = location[0];
int y = location[1];
popupWindow.update(x, y, width, height);
```
在这个示例中,`getLocationOnScreen()`方法返回锚点视图的屏幕坐标。您可以使用这些坐标来计算弹出窗口的位置,并使用`update()`方法来更新它。这种方法需要手动计算弹出窗口的位置,但是可以提供更高级的控制。
阅读全文