带有OnTouch事件的ScrollView

时间:2012-06-18 19:04:23

标签: java android

我在ScrollView上有一个TextView和一个很长的文字,我想根据用户操作拖到下一个/上一个文本:

在我的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;
   }
}

问题在于,当我实现它时,我可以进入下一个/上一个文本,但我无法上下滚动以查看底部的文本。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

在方法pageFlip中,将return true;更改为return false;