2

別の質問Google Maps Android API v2 - Interactive InfoWindow (元の android google maps のように)を見ていましたが、ご覧のとおり、彼は requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY); を使用しています。マップ v2 がフルスクリーンを使用するようにします。私はこれを試しましたが、私の場所ボタンは、彼とは異なり、私の場所のアクションバーで部分的に覆われています. 少し下げる方法を知っている人はいますか?

ありがとう!

私のはこのように見えます

4

2 に答える 2

3

残念ながら、このボタンを制御することはできません。明らかに、Android ソースでこのボタンを検索し、idレイアウト パラメータをコードから手動で変更できますが、私は絶対にそうしません。

このボタンは、自分で簡単に実装できます。そのため、組み込みの「locate me」ボタンを無効にして、アクション バーのすぐ下に配置される独自のボタンを実装することをお勧めします。

無効にするには、次を使用します。

googleMap.setMyLocationEnabled(false);

新しいボタンonClickメソッドの内容:

googleMap.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(googleMap.getMyLocation().getLatitude(),
                                                                 googleMap.getMyLocation().getLongitude())));
于 2013-02-22T17:42:42.967 に答える
1

ID でビューを取得し、上部の余白を再設定するだけです。どうやら ID は常に 2 ですが、これは文書化されておらず、ID が変更された場合にアプリが壊れます。Pavel が言ったように、独自のロケーション ボタンを作成して配線する方が安全です。

残念ながら、onCreate で ActionBar.getHeight() を呼び出すと、レイアウトが完了していないため、常に 0 が返されます。実際の高さを取得する方法は、ViewTreeObserver でリスナーを使用することです。

mainLayout.getViewTreeObserver().addOnGlobalLayoutListener(
     new ViewTreeObserver.OnGlobalLayoutListener() {
          public void onGlobalLayout() {
               int actionBarHeight = getActionBar().getHeight();
               // TODO: set margin of views dependent on actionbar height
               // remove the listener
               mainLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
          }
     }
}
于 2013-02-22T18:06:41.310 に答える