1

ScrollView の子である LinearLayout 内にマップ フラグメントを配置しました。下にスクロールしてマップを表示すると、マップが画面に黒いパッチを残します。ICS の前のデバイスでこの問題に直面しています。ジンジャーブレッド。誰かが同様の問題に直面しましたか?ここに画像の説明を入力

4

1 に答える 1

1

私は解決策を手に入れました!!

クラス MyMapFragment を作成します

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewGroup;

import com.google.android.gms.maps.SupportMapFragment;

public class MyMapFragment extends SupportMapFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = super.onCreateView(inflater, container, savedInstanceState);
        setMapTransparent((ViewGroup) view);
        return view;
    };

    private void setMapTransparent(ViewGroup group) {
        int childCount = group.getChildCount();
        for (int i = 0; i < childCount; i++) {
            View child = group.getChildAt(i);
            if (child instanceof ViewGroup) {
                setMapTransparent((ViewGroup) child);
            } else if (child instanceof SurfaceView) {
                child.setBackgroundColor(0x00000000);
            }
        }
    }
}

GoogleMap の初期化

map = ((MyMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.mapView)).getMap();

内部xml

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="250dp"
            android:layout_marginBottom="15dp"
            android:background="@drawable/mapouter" >

            <fragment
                xmlns:map="http://schemas.android.com/apk/res-auto"
                android:id="@+id/mapView"
                android:name="com.example.MyMapFragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />
        </LinearLayout>
于 2013-05-16T14:18:27.687 に答える