我在地图上有可点击的图标,点击时会在图标上方显示PopupWindow。但是,如果图标位于地图的最顶部,则PopupWindow将隐藏在Android状态栏下。 PopupWindow将自动调整到屏幕的右边缘和左边缘,也会自动调整到顶部边缘,但不会考虑状态栏面板。
应该有一种方法可以容纳MapView的高度,或者是一个考虑状态栏的PopupWindow的属性。当然,总是可以添加固定大小的上边距,但顶部面板在不同的Android单元上具有不同的高度。
任何人都可以帮忙吗? 谢谢!
答案 0 :(得分:1)
我仍然没有找到一种方法来调整MapView hieght到Android状态栏,这是不幸的。
然而,在PopupWindow的情况下,知道Android状态栏的高度就足够了,因为它被编码器放在屏幕上。然后编码员可以围绕这个问题制定自己的策略。
根据另一篇文章,这是如何做到的:
Rect rectgle = new Rect();
Window window = getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
statusBarHeight = rectgle.top;
但是,在所有窗口组件都已初始化之前,请注意不要进行此计算,否则它将为零。这很容易被注意到并修补。
BR, 瓦尼娅