4

我在地图上有可点击的图标,点击时在图标上方显示一个 PopupWindow。但是,如果图标位于地图的最顶部,则 PopupWindow 将隐藏在 Android 状态栏下。PopupWindow 将自动调整到屏幕的左右边缘以及顶部边缘,但不考虑状态栏面板。

要么应该有一种方法来适应 MapView 的高度,要么应该有一个考虑状态栏的 PopupWindow 属性。当然,总是可以添加一个固定大小的顶部边距,但是顶部面板在不同的 Android 单元上具有不同的高度。

有人能帮忙吗?谢谢!

4

1 回答 1

1

不幸的是,我仍然没有找到将 MapView hieght 调整为 Android 状态栏的方法。

然而,在 PopupWindow 的情况下,知道 Android 状态栏的高度就足够了,因为它是由编码器放置在屏幕上的。然后,编码人员可以围绕该问题制定自己的策略。

根据另一篇文章,可以这样做:

Rect rectgle = new Rect();
Window window = getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
statusBarHeight = rectgle.top;

但是,请注意在所有窗口组件都已初始化之前不要进行此计算,否则它将为零。这很容易被注意到和修复。

BR,瓦尼亚

于 2010-10-26T06:40:17.937 回答