无法滚动谷歌地图与API v2水平



我正在开发一个集成了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);

希望这对你有帮助!

最新更新