MapFragment更新按钮位置

时间:2016-09-27 07:25:55

标签: android google-maps google-play-services mapfragment

我遇到了一个相当具体的问题。我MapFragment中的Activity中有一个FrameLayout,因此Toolbar覆盖了地图。这是因为Toolbar有时需要在屏幕上进行动画处理,如果它没有覆盖地图,则会有间隙。

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

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

我很感激帮助。

1 个答案:

答案 0 :(得分:1)

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

带对话框

的示例
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();
        }