Tôi muốn di chuyển suôn sẻ đến vị trí cuộn tiếp theo trong chế độ xem tùy chỉnh của tôi (trên nút bấm hoặc sự kiện). Làm thế nào để thực hiện điều này? Trước hết, tôi không thể xem lớp hoạt hình cuộn (chỉ alpha, xoay, chia tỷ lệ và dịch). Thứ hai, có lớp hoạt hình, tôi không thể nhìn thấy lớp lặp lại (nói để cuộn 100 pixel quyền bất kỳ vị trí nào chúng tôi có) chỉ những thuộc tính tuyệt đối (tức là tạo hiệu ứng động từ một giá trị không đổi sang giá trị khác).Làm thế nào để animate vị trí di chuyển? Làm thế nào để di chuyển trơn tru?
Trả lời
Giả sử bạn đang sử dụng ScrollView, smoothScrollTo (...) có hoạt động cho bạn không?
http://developer.android.com/reference/android/widget/ScrollView.html#smoothScrollTo%28int,%20int%29
Xem view_cache_demo mẫu mã để xem làm thế nào để làm di chuyển động. Nó hoạt động trong 2D, lưu trữ bản vẽ phức tạp và cũng xử lý các cử chỉ fling, nhưng bạn có thể đơn giản hóa tất cả những gì cần thiết.
Animating di chuyển được thực hiện thông qua một sự kết hợp của việc sử dụng Scroller/OverScroller (để tính toán thời gian các giá trị nội suy của offsets cuộn của bạn), GestureDetectors (để bắt đầu các đối tượng cuộn) và phương pháp onComputeScroll của một Xem (đó là vòng lặp hoạt hình của bạn).
Tài liệu android chính thức hiện có hướng dẫn chi tiết về chính xác chủ đề này. http://developer.android.com/training/gestures/scroll.html
Sử dụng ObjectAnimator, Đây là một mẫu để di chuyển đến hàng đầu:
public void scroolToTop() {
int x = 0;
int y = 0;
ObjectAnimator xTranslate = ObjectAnimator.ofInt(mScrollView, "scrollX", x);
ObjectAnimator yTranslate = ObjectAnimator.ofInt(mScrollView, "scrollY", y);
AnimatorSet animators = new AnimatorSet();
animators.setDuration(1000L);
animators.playTogether(xTranslate, yTranslate);
animators.addListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationCancel(Animator arg0) {
// TODO Auto-generated method stub
}
});
animators.start();
}
- 1. Làm cách nào để di chuyển thanh tìm kiếm trên Android một cách trơn tru?
- 2. Animate UISlider trơn tru
- 3. Làm thế nào để di chuyển QSplitter?
- 4. Di chuyển hoạt hình không trơn tru trong android
- 5. Làm thế nào để di chuyển tập raphael?
- 6. Làm thế nào để tải Listview "trơn tru" trong android
- 7. (WPF) Animate ListView mục di chuyển
- 8. Làm thế nào để sử dụng LevelDB khi di chuyển?
- 9. System.IO.File.Move - Làm thế nào để chờ hoàn thành di chuyển?
- 10. bootstrap-affix: Div bên dưới dấu "nhảy" lên đầu. Làm thế nào để làm cho nó trơn tru di chuyển phía sau?
- 11. Làm cách nào để di chuyển thẻ?
- 12. Làm thế nào để di chuyển một nội dung bố trí bên ngoài màn hình android
- 13. Làm thế nào để animate dòng lệnh?
- 14. Di chuyển jQuery div từ vị trí 1 đến 2
- 15. Làm thế nào để Hoàn tác & Làm lại một đường trơn tru trong iPhone?
- 16. Làm thế nào để di chuyển một phần tử trong Diagonal Movement trong jQuery?
- 17. Làm thế nào để hiển thị bố trí di chuyển từ trái sang phải với tốc độ chậm
- 18. Làm thế nào để bạn di chuyển một CALayer ngay lập tức (không có hoạt ảnh)
- 19. Làm thế nào để di chuyển div bằng chuột bằng cách sử dụng jquery?
- 20. Làm thế nào để di chuyển một đối tượng chuyển tiếp trong Three.js?
- 21. Làm thế nào để thông báo cho Google một trang đã di chuyển?
- 22. Làm thế nào để tìm (trong javascript) hiện tại "di chuyển" bù đắp trong điện thoại di động safari/iphone
- 23. Làm thế nào để giữ hình nền ở dưới cùng bên trái thậm chí di chuyển
- 24. JScrollPane - Cuộn trơn tru
- 25. Cách tốt nhất để hiển thị hình ảnh theo quan điểm lưới được di chuyển trơn tru
- 26. Di chuyển vị trí bắt đầu của vải mẫu
- 27. Làm thế nào để di chuyển một TextView động trên màn hình? (framelayout)
- 28. Làm thế nào để CATextLayer trơn tru văn bản của nó?
- 29. Làm thế nào để có được vị trí con trỏ
- 30. Làm thế nào để làm cho một cửa sổ undecorated di chuyển/kéo được trong JavaFX?
Tôi có nên sử dụng 'ScrollView'? Tôi đang sử dụng 'MyClass mở rộng Chế độ xem 'ngay bây giờ. –
Tôi nghĩ rằng nó phụ thuộc vào những gì bạn đang làm, nếu một ScrollView làm việc cho bạn thì dứt khoát sử dụng nó. –
Tôi đã thử mở rộng 'ScrollView' nhưng thấy rằng' onScrollChanged() 'không được gọi trong trường hợp này. Tôi cần phương pháp này để được gọi kể từ khi tôi tính toán một số thông số trong đó. I E. 'smoothScroll' không hoạt động đối với tôi. –