我正在开发一个集成了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
?
尝试组合这些参数:
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);
希望这对你有帮助!