1

すでに透明になっているボタンがたくさんあるMapViewので、下部にある組み込みのズームコントロールも透明にしたいと思います。getZoomControl()onMapViewは非推奨です。Buttons誰もがコントロールなしでコントロールを手に入れる方法のアイデアを持っていgetZoomControlますか?

編集:

だから私はそれを理解しました。にZoomButtonsControllerは、単なる。であるコンテナがあることがわかりますViewGroup。そのコンテナの子を解析して、のインスタンスであるオブジェクトを見つけることができますZoomControl。これは、のダウンラインインスタンスですViewGroup。の子を解析して、含まれているZoomControlを取得できZoomButtonsます。 getBackground()ZoomButtonsetAlpha()

これが私のコードです:

android.widget.ZoomButtonsController zbc = mapView.getZoomButtonsController();
    ViewGroup container = zbc.getContainer();
    for (int i = 0; i < container.getChildCount(); i++) {
        View child = container.getChildAt(i);
        if (child instanceof ZoomControls) {
            ViewGroup zoomC = (ViewGroup)child;
            for (int j = 0; j < zoomC.getChildCount(); j++) {
                View btn = zoomC.getChildAt(j);
                if ( btn instanceof ZoomButton ) { 
                    ((ZoomButton)btn).getBackground().setAlpha(120);
                }
            }
            break;
        } 
    }
4

3 に答える 3

0

私の理解では、これは非推奨ですandroid.view.Viewが、にありますandroid.widget.ZoomButtonsController。それが役立つかどうかはわかりません。お知らせ下さい。

ここにいくつかのドキュメントがあります。

于 2012-08-10T20:07:29.183 に答える
0

組み込みのズームボタンを削除し、独自のボタンを使用して、ズームアクションを実行するようにアクションを設定します。ボタンを思い通りに見せることができます。

于 2012-08-10T19:37:44.833 に答える
0

ドキュメントで提案されているように、 setBuiltInZoomControls(boolean)を使用してみてください。

于 2012-08-10T21:24:29.733 に答える