MapFragment更新按钮位置

MapFragment update button position

我遇到了一个相当具体的问题。我在 Activity 中有一个 MapFragmentFrameLayout 中,以便 Toolbar 覆盖地图。这是因为 Toolbar 有时需要在屏幕外进行动画处理,如果它不覆盖地图,就会出现间隙。

现在,当设备没有有效的 Google Play Services 时,MapFragment 默认会显示一条消息和一个按钮来更新服务。我的问题是此消息显示在地图的左上角,即 Toolbar 下方。

有没有人知道如何解决这个问题?也许自己检查 Google Play Services 的有效性并在无效时创建一些填充?或者是否有一个简单的解决方案,比如在地图上设置某种重力,以便更新消息居中。

感谢您的帮助。

您可以使用 GoogleMap.setPadding() 方法在地图边缘周围添加填充。或者创建自定义 alertDialog,向用户显示有关 Google Play Services

的信息

带有对话框的示例

GoogleApiAvailability api = GoogleApiAvailability.getInstance();
        int code = api.isGooglePlayServicesAvailable(activity);
        if (code == ConnectionResult.SUCCESS) {
        //
        } else {
           AlertDialog alertDialog =
                 new AlertDialog.Builder(activity, R.style.AppCompatAlertDialogStyle).setMessage(
                       "You need to download Google Play Services in order to use this part of the application")
                       .create();
           alertDialog.show();
        }