gpt4 book ai didi

android - 重力值如何影响 Android 中的 PopupWindow.showAtLocation()

转载 作者:IT王子 更新时间:2023-10-29 00:08:45 25 4
gpt4 key购买 nike

不同的重力值如何影响 Android 中的 PopupWindow.showAtLocation()?

我在 PopupWindows showAtLocation 和 Gravity 上找不到好的文档。

最佳答案

在尝试一些黑魔法数学计算中心并尝试使用 Gravity.TOP 对齐 View 几个小时后,我发现了一个使用 Gravity.CENTER 的帖子。我在这里收集我的发现,希望它可以减轻其他人的痛苦。

popupWindow.showAtLocation(anyViewOnlyNeededForWindowToken, Gravity.CENTER, 0, 0);

View 只需要window token,对位置没有其他影响。

重力告诉布局管理器从哪里开始坐标系以及如何处理这些坐标。我找不到文档,但黑客向我展示了这一点:

  • CENTER 使用弹出窗口的中间与指定的 x,y 对齐。所以 0,0 是屏幕居中的,没有调整通知栏的大小。

Gravity.CENTER 0,0

  • BOTTOM 使用弹出窗口的底部与指定的 x,y 对齐。所以 0,0 使弹出窗口底部与屏幕底部对齐。如果您想要 10 像素的内边距,则 y=10(不是 -10)将弹出窗口向上移动 10 像素。

Gravity.BOTTOM 0,10

  • TOP 使用弹出窗口的顶部与指定的 x,y 对齐。所以 0,0 的弹出窗口顶部与屏幕顶部对齐。如果你想要 10px 的内边距,那么 y=10。 注意如果您未处于全屏模式,则还必须对通知栏进行调整。

Gravity.TOP 0,48

  • Gravity.LEFT 和 Gravity.RIGHT 现在应该很明显了,对于我的示例图像,它们太大而无法在屏幕上显示,因此它们被限制为屏幕尺寸减去我正在使用的填充。

关于android - 重力值如何影响 Android 中的 PopupWindow.showAtLocation(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7440334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com