Đây là một phiên bản đơn giản hơn, đó là cơ bản giống nhau ở cấp độ xe đẩy. Nó không hoàn hảo nhưng cho một cách khác để nhìn vào nó.
final TextView textview = ((TextView) VIEW.findViewById(R.id.text));
final Scroller scroller = new Scroller(CONTEXT);
textview.setText(TEXT);
textview.setMovementMethod(new ScrollingMovementMethod());
textview.setScroller(scroller);
textview.setOnTouchListener(new View.OnTouchListener() {
// Could make this a field member on your activity
GestureDetector gesture = new GestureDetector(CONTEXT, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
scroller.fling(0, textview.getScrollY(), 0, (int)-velocityY, 0, 0, 0, (textview.getLineCount() * textview.getLineHeight()));
return super.onFling(e1, e2, velocityX, velocityY);
}
});
@Override
public boolean onTouch(View v, MotionEvent event) {
gesture.onTouchEvent(event);
return false;
}
});
Nguồn
2015-12-16 16:13:55
Phương pháp cuối cùng, computerScroll(), cần có @Override ở phía trước. Các phần mềm gửi bài ở đây đã biết làm thế nào để đối phó với được ở đó. – Xarph
Bạn có thể vui lòng xác nhận rằng sHeight, chiều cao màn hình thiết bị? – Mani