7

Tôi có một số RecyclerView được nhồi với bộ sưu tập là CardView. Mã của tôi về cơ bản là mã trên this official bài viết và hoạt động tốt, vì vậy không cần phải đăng mã của tôi ở đây. Có trên đó.Dân số hoạt hình của RecyclerView

Nó trông giống như sau:

+------------------------------+ 
| +------------+ +------------+ | 
| | card 1 | |   | | 
| +------------+ +------------+ | 
| +------------+ +------------+ | 
| |   | |   | | 
| +------------+ +------------+ | 
| +------------+ +------------+ | 
| |   | |   | | 
| +------------+ +------------+ | 
| +------------+ +------------+ | 
| |   | | card N | | 
| +------------+ +------------+ | 
+-------------------------------+ 

Tất cả CardViews được hiển thị cùng một lúc, như mong đợi.

Nhưng điều tôi muốn là lượt xem được hiển thị từng cái một từ bên ngoài chế độ xem đến vị trí bình thường của nó.

+-------------------------------+   +-------------------------------+ 
| +------------+    |   | +------------+ +------------+ | 
| | card 1 |    |   | | card 1 | | card 2 | | 
| +------------+    |   | +------------+ +------------+ | 
|     ^  |   |        | 
|      |  |   |        | 
|      |  |   |        | 
|      |  |   |        | 
|      |  |   |  ^      | 
|      |  |   |  |      | 
|      |  |   |  |      | 
|      |  |   |  |      | 
|      |  |   |  |      | 
+----------------------|--------+   +-------|-----------------------+ 
        ------------+    +------------+ 
       | card 2 |    | card 3 | 
       +------------+    +------------+  

Có ai biết cách thực hiện việc này không?

+0

Bạn có tìm thấy gì không? Tôi có cùng một vấn đề. – murena

Trả lời

1

Bạn có thể thử tạo ItemAnimators tùy chỉnh như trong dự án bên dưới.

https://github.com/gabrielemariotti/RecyclerViewItemAnimators

+0

Thật không may, trong khi dân số hoạt động tốt, khi cuộn xong, chế độ xem thẻ bị thất lạc hoặc biến mất sớm, thư viện này vẫn có một số vấn đề. –

4

Tạo một phim hoạt hình mục tùy chỉnh (hoặc mở rộng mặc định) và ghi đè animateAdd như vậy mà các thẻ sẽ animate từ bên dưới màn hình. Xem chi tiết documentation. Không thực hiện đúng cách có thể làm mất ViewHolders vì vậy bạn nên cẩn thận.

Cách tốt nhất để chạy hoạt ảnh là tạo một trình làm hoạt ảnh sẽ hoạt ảnh translationY từ recyclerView.getHeight() đến 0. Bạn có thể kiểm tra DefaultItemAnimator để tham khảo.

Btw, trong thông báo bố cục đầu tiên, RecyclerView sẽ không hoạt ảnh cho Chế độ xem vì có vẻ lạ khi mờ dần trong mọi thứ. Để khắc phục nó, ban đầu giữ bộ chuyển đổi của bạn trống và sau khi vượt qua bố cục đầu tiên, thêm các mục của bạn (bạn có thể sử dụng trình xử lý và trì hoãn thêm các mục vào bộ điều hợp của mình).

Btw, RecyclerView chưa hỗ trợ chế độ xem hoạt ảnh khi di chuyển để animateAdd sẽ không được gọi khi mục mới được thêm khi danh sách được người dùng cuộn.

Các vấn đề liên quan