Tôi có Chế độ xem cuộn. Tôi thực hiện trơn tru-scroll.using smoothScrollBy().Nó tất cả các công trình tốt, nhưng tôi muốn thay đổi thời gian của mịn-scroll. Smooth-scroll xảy ra rất nhanh và người dùng không hiểu chuyện gì đã xảy ra. Hãy giúp tôi giảm tốc độ cuộn mượt mà?Giảm tốc độ cuộn trơn tru trong chế độ xem cuộn
Trả lời
Đây là một giải pháp với một bộ đếm thời gian trong đó sử dụng scrollTo nhưng bạn cũng có thể sử dụng scrollBy Android: HorizontalScrollView smoothScroll animation time
whichScreen = Math.max(0, Math.min(whichScreen, getBase().getDocumentModel().getPageCount()-1));
mNextScreen = whichScreen;
final int newX = whichScreen * getWidth();
final int delta = newX - getScrollX();
//scroller.startScroll(getScrollX(), 0, delta, 0, Math.abs(delta) * 2);
scroller.startScroll(getScrollX(), 0, delta, 0, Math.abs(delta));
invalidate();
Hãy thử đoạn mã sau:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
{
ValueAnimator realSmoothScrollAnimation =
ValueAnimator.ofInt(parentScrollView.getScrollY(), targetScrollY);
realSmoothScrollAnimation.setDuration(500);
realSmoothScrollAnimation.addUpdateListener(new AnimatorUpdateListener()
{
@Override
public void onAnimationUpdate(ValueAnimator animation)
{
int scrollTo = (Integer) animation.getAnimatedValue();
parentScrollView.scrollTo(0, scrollTo);
}
});
realSmoothScrollAnimation.start();
}
else
{
parentScrollView.smoothScrollTo(0, targetScrollY);
}
Đây là cách tôi đã đạt được một cuộn dọc mịn (như tín dụng phim). Điều này cũng cho phép người dùng di chuyển cuộn lên và xuống và cho phép người dùng tiếp tục cuộn khi họ thả. Trong XML của tôi, tôi đóng gói TextView bên trong một ScrollView được gọi là "scrollView1". Thưởng thức!
final TextView tv=(TextView)findViewById(R.id.lyrics);
final ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView1);
Button start = (Button) findViewById(R.id.button_start);
Button stop = (Button) findViewById(R.id.button_stop);
final Handler timerHandler = new Handler();
final Runnable timerRunnable = new Runnable() {
@Override
public void run() {
scrollView.smoothScrollBy(0,5); // 5 is how many pixels you want it to scroll vertically by
timerHandler.postDelayed(this, 10); // 10 is how many milliseconds you want this thread to run
}
};
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
timerHandler.postDelayed(timerRunnable, 0);
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
timerHandler.removeCallbacks(timerRunnable);
}
});
Làm cách nào để biết rằng cuộn xuống dưới cùng và có thể tắt runnable không? Làm thế nào để xử lý này? – AlexKost
Câu trả lời đơn giản chỉ là để thay thế
scrollView.smoothScrollTo(0, scrollTo);
với
ObjectAnimator.ofInt(scrollView, "scrollY", scrollTo).setDuration(duration).start();
nơi thời gian là thời gian trong mili giây bạn muốn nó mất
- 1. JScrollPane - Cuộn trơn tru
- 2. cuộn trơn tru với javascript onclick
- 3. NSTextView, thêm văn bản và cuộn trơn tru
- 4. Cuộn chế độ xem web bên trong Chế độ xem cuộn
- 5. Cuộn vô hạn - setContentOffset: dừng giảm tốc độ UIScrollView
- 6. Cuộn danh sáchXem trơn tru và lập trình
- 7. Chế độ xem cuộn không cuộn xuống hoàn toàn
- 8. Chế độ xem lưới Android Cuộn ngang
- 9. UITableViewScrollPositionNone không cuộn chế độ xem bảng
- 10. Chế độ xem cuộn cho chế độ xem văn bản trong android
- 11. Chế độ xem cuộn giúp chế độ xem dưới cùng biến mất trong Hộp thoại
- 12. Cuộn trên di chuột, nhấp để xem tốc độ
- 13. CListCtrl Thanh cuộn dọc trong Chế độ xem danh sách
- 14. Kiểm soát phân đoạn bên trong Chế độ xem cuộn
- 15. Bật cuộn ngang trong chế độ xem web
- 16. Chế độ xem văn bản không thể cuộn trong android
- 17. Cách tạo chế độ xem cuộn vô hạn trong iPhone?
- 18. Chế độ xem cuộn ngang: Is It Really A Solution?
- 19. Chế độ xem hiển thị ở chế độ xem cuộn trên màn hình
- 20. Cách thêm tính năng cuộn trơn tru vào chức năng gián điệp cuộn của Bootstrap
- 21. Điều chỉnh tốc độ/độ nhạy của cuộn UICollectionView
- 22. Cuộn ở chế độ tạo cuộn nền trên Safari
- 23. Làm cách nào để tăng tốc độ cuộn của UIWebView?
- 24. Cách thêm chế độ xem phụ vào một chế độ xem trên web để chế độ xem phụ sẽ cuộn cùng với chế độ xem web?
- 25. Android: tạo chế độ xem tùy chỉnh có thể cuộn
- 26. Cách sử dụng chế độ xem cuộn trên iPhone?
- 27. Độ trễ cuộn với GestureDetector onScroll
- 28. Chế độ xem cuộn không trượt khi quá ngắn để cuộn
- 29. Android - Widget có Chế độ xem danh sách cuộn có thể cuộn
- 30. Làm cách nào để biết rằng chế độ xem cuộn đã được cuộn xuống dưới cùng?
này nên được chọn là câu trả lời cho câu hỏi. +1 –
Thay vì sử dụng ValueAnimator, tại sao không sử dụng ObjectAnimator (một lớp con của ValueAnimator)? Nó làm cho nó dễ dàng hơn - một lớp lót, trên thực tế: ObjectAnimator.ofInt (scrollView, "scrollY", targetScrollY) .setDuration (500) .start(); –