2013-11-04 51 views
0

我需要知道我可以做什麼用手指做出LinearLayout舉動在一起,但我只想移動X軸,而不是Y.如何讓LinearLayout的X軸在我的手指下移動?

,完成移動後,當你「手指」的LinearLayout回到原來的X位置。

我該怎麼做?

+0

scrollTo(),scrollBy() – pskink

+0

滾動方法不僅對'ScrollView'的? –

+1

不,他們是視圖的方法 – pskink

回答

1

假設LL是你的線性佈局的名稱:

ll.setOnTouchListener(new OnTouchListener() { 

     float lastX; 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 

      View item = v; 

      switch(event.getAction()) 
      { 
      case MotionEvent.ACTION_DOWN: 
       lastX = event.getX(); 
       break; 
      case MotionEvent.ACTION_MOVE: 
       item.scrollBy((int) (event.getX()-lastX), 0); 
       lastX = event.getX(); 
       break; 
      case MotionEvent.ACTION_UP: 
       item.scrollTo(0, 0); 

      } 
      return false; 
     } 
    }); 
+0

你剛剛救了我的生命:)你很棒。 –

+2

這嚴重嗎?不客氣@Paulo。 –

+0

只是一件事:我可以恢復值?因爲我只是注意到這是相反的,我移動手指離開它向右移動,我移動手指向右移動向左移動。' - ' –