2013-04-09 47 views
1

我正在開發一個應用程序,其中集成了Google map API v2。有一個滑動菜單,我在運行時使用了HorizontalScrollView。 問題是,我只能夠垂直滾動地圖,因爲我試圖水平滾動HorizontalScrollView獲取觸摸事件。無法使用API​​ v2橫向滾動Google地圖

這是我如何進行佈局。

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); 

ViewmainScreen具有用於地圖的片段。 任何解決方案,以便我可以滾動地圖horizontally

+0

我能夠滾動地圖,但現在的問題是,當我顯示菜單時,地圖會覆蓋它,即覆蓋菜單,如地圖片段不滾動。請幫忙。 – 2013-04-11 14:20:37

+0

我遇到了類似的問題(在我的情況下用ScrollView)。你說你解決了滾動問題。小心分享你是怎麼做的? – 2013-06-07 00:36:48

回答

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); 

希望這有助於!

+0

感謝您的回答,但我沒有使用任何其他課程或圖書館。我只是用'Horizo​​ntalScrollView'做了一個佈局。在按鈕上單擊我只需滾動佈局即可顯示菜單。對不起,如果我不清楚的問題。 – 2013-04-10 04:35:12