我遇到了一个相当具体的问题。我MapFragment
中的Activity
中有一个FrameLayout
,因此Toolbar
覆盖了地图。这是因为Toolbar
有时需要在屏幕上进行动画处理,如果它没有覆盖地图,则会有间隙。
现在,当设备没有有效Google Play Services
时,MapFragment
将显示一条消息和一个默认更新服务的按钮。我的问题是,此消息显示在地图的左上角,位于Toolbar
下方。
有没有人知道如何解决这个问题?也许检查Google Play Services
我自己的有效性,并在无效时创建一些填充?或者有一个简单的解决方案,比如在地图上设置某种重力,以便更新消息居中。
我很感激帮助。
答案 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();
}