Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使MapView高度考虑Android状态栏?_Android_Google Maps_Android Mapview_Popupwindow - Fatal编程技术网

如何使MapView高度考虑Android状态栏?

如何使MapView高度考虑Android状态栏?,android,google-maps,android-mapview,popupwindow,Android,Google Maps,Android Mapview,Popupwindow,我在地图上有可点击的图标,当点击图标时,图标上方有一个弹出窗口。但是,如果图标位于地图的最上方,则弹出窗口将隐藏在Android状态栏下。 PopupWindow将自动调整到屏幕的左右边缘,以及顶部边缘,但不考虑状态栏面板 应该有一种方法来适应MapView的高度,或者PopupWindow的一个属性考虑了状态栏。当然,总是可以添加一个固定大小的顶部边距,但是在不同的Android设备上,顶部面板的高度不同 有人能帮忙吗? 谢谢 不幸的是,我还没有找到一种方法将MapView屏幕调整到Andro

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

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

有人能帮忙吗?
谢谢

不幸的是,我还没有找到一种方法将MapView屏幕调整到Android状态栏

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

根据另一篇文章,这是如何做到的:

Rect rectgle = new Rect();
Window window = getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
statusBarHeight = rectgle.top;
但是,在初始化所有窗口组件之前,请注意不要进行此计算,否则它将为零。这很容易被发现和修复

比尔,
Vanja

不是一个真正的解决方案,而是一个想法:在显示弹出窗口之前,您可以将地图放在单击的对象的中心。这可以解决你的问题吗?我只是猜测,但如果以dip测量,不是每个设备上的状态栏大小都相同吗?我不想改变地图的中心,因为用户可能会觉得很烦人。但是谢谢你的主意。android状态栏的大小因帖子而异: