2016-09-27 18 views
0

非常に具体的な問題が発生しています。私はFrameLayoutActivityMapFragmentを持っているので、Toolbarは地図をオーバーレイします。これは、Toolbarが画面からアニメーション化される必要があり、マップにオーバーレイしないとギャップが生じるためです。MapFragmentの更新ボタン位置

デバイスが有効なGoogle Play Servicesを持っていない場合、MapFragmentはメッセージとデフォルトでサービスを更新するボタンを表示します。私の問題は、このメッセージがマップの左上隅に表示されていることです。これはToolbarの下にあります。

誰もこの問題に取り組む方法を知っていますか?おそらくGoogle Play Servicesの妥当性をチェックし、有効でない場合にはいくつかのパディングを作成しますか?または、更新メッセージが中央にくるようにマップ上に何らかの重力を設定するような簡単な解決策があります。

私は助けていただきありがとうございます。

答えて

1

GoogleMap.setPadding()メソッドを使用して、地図の端にパディングを追加できます。やGoogleに関するユーザー情報を表示するカスタムalertDialogサービスに

例を再生するダイアログ

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(); 
     } 
+0

で何のマップロードがないので 'setPadding'メソッドは動作しませんが、ダイアログを使用するためのアイデアがあるを作成します良い。私は以前のプロジェクトでそれを使用しました。ダイアログを無効にすることはできませんでした(これが解消される場合は、ユーザーは空の画面になります)。 –

+0

あなたが.setCancelable(false)を追加する必要があり –

+0

または.setOnDismissListener(新DialogInterface.OnDismissListener(){@Override ます。public void onDismiss(DialogInterface dialogInterface){// 仕上げ活性またはバック前のフラグメントに }} ) –