5

我在使用此滑动菜单https://github.com/iPaulPro/SlidingMenu的活动中有一个 android maps api v2 的地图视图。除了在地图页面上,滑动菜单效果很好。滑动菜单上有一个黑色视图,它是地图的确切大小。这是一个将地图高度设置为 100dp 的示例,以概述我的意思。

查看问题

如果我触摸那个视图,它就会消失。我将如何摆脱它或使其透明?我已经尝试过 requestTransparentRegion() 技巧。那里没有骰子。

4

3 回答 3

13

发现这个堆栈溢出帖子ViewPager with Google Maps API v2:神秘的黑色视图并使用这个类代替法线贴图片段。

package com.myapp.gms.maps;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import com.google.android.gms.maps.SupportMapFragment;

/**
 * @author btate
 */
public class TransparentSupportMapFragment extends SupportMapFragment {

    public TransparentSupportMapFragment() {}

    @Override
    public View onCreateView(LayoutInflater inflater, 
                                 ViewGroup view, 
                                 Bundle savedInstance) {

        View layout = super.onCreateView(inflater, view, savedInstance);
        FrameLayout frameLayout = new FrameLayout(getActivity());
        frameLayout.setBackgroundColor(
           getResources().getColor(android.R.color.transparent));
        ((ViewGroup) layout).addView(frameLayout,
            new ViewGroup.LayoutParams(
               LayoutParams.MATCH_PARENT, 
               LayoutParams.MATCH_PARENT
            )
        );
        return layout;
    }

}
于 2013-02-15T15:10:34.933 回答
0

这个问题还有另一种解决方案。我在另一个片段中显示 MapFragment。MapFragment 被动态添加到 FrameLayout 中。

解决方案是使用滑动菜单的打开和关闭事件frameLayout.setVisibility(View.Visible)frameLayout.setVisibility(View.Gone)它不需要添加额外的视图。黑色区域完全消失了。

getSlidingMenu().setOnOpenListener(
    new OnOpenListener() {
        @Override
        public void onOpen() {
            frameLayout.setVisibility(View.GONE);
        }
    }
);

getSlidingMenu().setOnClosedListener(
    new OnClosedListener() {

        @Override
        public void onClosed() {
            frameLayout.setVisibility(View.VISIBLE);
        }
    }
);
于 2013-03-02T09:19:22.837 回答
0

TransparentSupportMapFragment 解决了 android 2.3.7 的问题 谢谢!

于 2013-07-12T04:43:34.953 回答