在电子墨水屏幕上滚动屏幕和动画是不好的事情。他们的快速屏幕刷新使屏幕闪烁(首先是负面,然后是黑色,然后是新内容,重复多次滚动)。
驯服电子墨水屏幕的一种简单方法是将滚动更改为分页。另一种方法是仍然进行滚动 - 但不显示中间屏幕更新: 滚动前的屏幕 - >抬起手指:滚动后更新到屏幕 滚动前的屏幕 - >离开手指+超时:更新到实际屏幕
THX
答案 0 :(得分:0)
@Override
public boolean dispatchTouchEvent(MotionEvent event)
{
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
hit_scrollx = view.getScrollX();
hit_scrolly = view.getScrollY();
hit_touchx = (int) event.getX();
hit_touchy = (int) event.getY();
break;
case MotionEvent.ACTION_UP:
int x = (int) event.getX();
int y = (int) event.getY();
if (x<hit_touchx-5 || x>hit_touchx+5 || y<hit_touchy-5 || y>hit_touchy+5)
scrollAbsolute(hit_scrollx+hit_touchx-x, hit_scrolly+hit_touchy-y);
break;
}
return(true);
}
这假设您有自己的scrollAbsolute,它会为您的应用程序剪切并使用View.scrollTo。这是为具有主滚动视图的活动而设计的。它捕获所有触摸事件。 “5”是为了防止在无意义的触摸上进行不必要的刷新。