MapFragment更新按钮位置
MapFragment update button position
我遇到了一个相当具体的问题。我在 Activity
中有一个 MapFragment
在 FrameLayout
中,以便 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();
}
我遇到了一个相当具体的问题。我在 Activity
中有一个 MapFragment
在 FrameLayout
中,以便 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();
}