MapView只是地图的FrameLayout容器。相反,在onMapReady回调中向GoogleMap对象添加填充。像这样:
@Override
public void onMapReady(GoogleMap map) {
map.setPadding(0,0,0,80);
}
还请记住此处填充的值以像素为单位,您可以使用此函数进行转换:
public static int dpToPx(int dp, Context context) {
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
return Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
}
public static void setPaddingForGoogleLogo(GoogleMap map, Context context) {
map.setPadding(LayoutUtils.dpToPx(15, context),
LayoutUtils.dpToPx(45, context),
LayoutUtils.dpToPx(0, context),
LayoutUtils.dpToPx(85, context));
}
在我的例子中,上面的值起了作用,这与您的类似,但您可能需要进行一些测试