我正在开发一个我已集成Google map API v2
的应用程序。我在运行时使用HorizontalScrollView
添加了一个滑动菜单。
问题是我只能垂直滚动地图,因为我尝试水平滚动HorizontalScrollView
获取触摸事件。
这是我制作布局的方式。
LayoutInflater inflater = LayoutInflater.from(this);
View menu = inflater.inflate(R.layout.menu, null);
HorizontalScrollView hsv = new HorizontalScrollView(this) {
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (Menu_Displayed) {
return false;
} else {
return true;
}
}
LinearLayout li_body = new LinearLayout(this);
li_body.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.MATCH_PARENT));
li_body.setOrientation(0);
li_body.setBackgroundColor(Color.TRANSPARENT);
hsv.addView(li_body);
TextView placeholder = new TextView(this);
placeholder.setTextColor(Color.TRANSPARENT);
placeholder.setLayoutParams(new LayoutParams(width - 130,
LayoutParams.MATCH_PARENT));
placeholder.setVisibility(View.INVISIBLE);
li_body.addView(placeholder);
LayoutInflater inflatex = LayoutInflater.from(this);
View mainScreen = inflatex.inflate(R.layout.main, null);
li_body.addView(mainScreen);
FrameLayout mainFrame = new FrameLayout(this);
mainFrame.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
mainFrame.addView(menu);
mainFrame.addView(hsv);
hsv.post(new Runnable() {
@Override
public void run() {
hsv.scrollBy(width - 130, 0);
}
});
setContentView(mainFrame);
View
mainScreen
有一个地图片段。
任何解决方案,以便我可以滚动地图horizontally
?
答案 0 :(得分:0)
尝试组合这些参数:
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
或
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
和另一个参数:
getSlidingMenu().setMode(SlidingMenu.LEFT_RIGHT);
或
getSlidingMenu().setMode(SlidingMenu.LEFT); / getSlidingMenu().setMode(SlidingMenu.RIGHT);
如果我没记错,那么你的组合就是
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
getSlidingMenu().setMode(SlidingMenu.LEFT_RIGHT);
希望这有帮助!