Java 带有OnTouch事件的ScrollView
我有一个Java 带有OnTouch事件的ScrollView,java,android,Java,Android,我有一个滚动视图和文本视图上的一个很长的文本,我想根据用户的操作拖动到下一个/上一个文本,如下所示: public class MyOnTouch implements OnTouchListener { @Override public boolean onTouch(View v, MotionEvent event) { return pageFlip(v, event); } public boolean pageFlip(V
滚动视图
和文本视图
上的一个很长的文本,我想根据用户的操作拖动到下一个/上一个文本,如下所示:
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;
}
}
在我的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>
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;
}
}
公共类MyOnTouch实现OnTouchListener{
@凌驾
公共布尔onTouch(视图v,运动事件){
返回页面翻转(v,事件);
}
公共布尔页面翻转(视图v,运动事件){
开关(event.getAction()){
case MotionEvent.ACTION\u DOWN:
startX=event.getX();
打破
case MotionEvent.ACTION\u UP:
float currentX=event.getX();
如果(startX>currentX+150){
nextText(v);
}
如果(startX
问题是当我像这样实现它时,我可以进入下一个/上一个文本,但我不能上下滚动以查看底部的文本
有什么建议吗?在方法
pageFlip
change中返回true
to返回false代码>@choop,现在您可以继续开发了,太棒了!:)