2012-06-18 91 views
3

我有一個ScrollViewTextView一個很長的文本,我想根據用戶的動作一樣,拖動到下一首/上的文字:滾動型與OnTouch事件

在我的xml:

<ScrollView 
     android:id="@+id/scrollViewTest" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content">    
    <TextView 
      android:id="@+id/textViewTest" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="very long text" />  
</ScrollView> 

在onCreate上,我實現了OnTouchListener以拖動到下一個文本。

ScrollView sv = (ScrollView) findViewById(R.id.scrollViewTest);   
sv.setOnTouchListener(new MyOnTouch()); 

OnTouchListener定義這樣的:

public class MyOnTouch implements OnTouchListener { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     return pageFlip(v, event);   
    } 

    public boolean pageFlip(View v, MotionEvent event) { 
     switch (event.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      startX = event.getX(); 
      break; 
      case MotionEvent.ACTION_UP: 
      float currentX = event.getX();  
      if (startX > currentX + 150) { 
       nextText(v); 
      } 
      if (startX < currentX - 150) {     
       previousText(v); 
      } 
     default: 
      break; 
    } 
    return true; 
    } 
} 

問題是,當我實現它就像我能到下一個/上的文字,但我不能滾動和向下爲了看到底部的文字。

有什麼建議嗎?

回答

3

在方法pageFlip變化return true;return false;

+0

OK L'來試試吧:) – choop

+0

@choop,你嘗試過嗎?它工作嗎? – lolo

+0

@lolo - 是的,它工作正常:) – choop