我在使用此滑动菜单https://github.com/iPaulPro/SlidingMenu的活动中有一个android maps api v2的地图视图。除了在地图页面上,滑动菜单效果很好。滑动菜单上有一个黑色视图,它是地图的确切大小。这是一个示例,地图高度设置为100dp,以概述我的意思。
如果我触摸该视图,它将会消失。我如何摆脱它或使其透明?我试过了requestTransparentRegion()技巧。没有骰子。
答案 0 :(得分:13)
发现此堆栈溢出ViewPager with Google Maps API v2: mysterious black view并使用此类代替普通的地图片段。
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;
}
}
答案 1 :(得分: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);
}
}
);
答案 2 :(得分:0)
透明SupportMapFragment解决了android 2.3.7的问题 谢谢!