Sự khác biệt giữa ViewFlipper và ViewSwitcher là gì


88

Cả hai đều được thừa kế ViewAnimator. Tôi biết điều đó ViewSwitcherchỉ cho phép hai lượt xem, trong khi ViewFlippercho phép nhiều hơn. Nhưng tại sao Android lại tạo ra ViewSwitcher, nếu nó chỉ là một ViewFlippervới 2 chế độ xem? Có sự khác biệt nào khác không? Trong điều kiện nào sẽ được sử dụng cái cao hơn cái khác?

Câu trả lời:


82

Từ những gì tôi có thể nói, ViewSwitcher được sử dụng nếu bạn muốn chuyển đổi giữa hai chế độ xem như bạn đã nói. Hữu ích nếu bạn có 2 chế độ xem mà bạn phải quay đi quay lại khá thường xuyên. Và lớp thực hiện một ViewFactory nếu bạn muốn sử dụng nó.

Tuy nhiên, ViewFlipper có thể được sử dụng nếu bạn muốn thay đổi các khung nhìn theo định kỳ. Nói giống như một cuốn sách lật tự động nào đó. Mặc dù bộ sưu tập bộ điều hợp tùy chỉnh tốt hơn nhiều trong việc này.

Và vâng, đó là tất cả. Chúng thực sự không hữu ích hơn nhiều so với ViewAnimator. Tại sao sự phát triển của Android tạo ra bất cứ thứ gì thực sự là một bí ẩn đối với tôi.

Tôi thường chỉ thích sử dụng ViewAnimator vì nó mang lại cho bạn nhiều tự do hơn và do đó linh hoạt trong cách bạn thiết kế. Nhưng nếu bạn muốn các tính năng như ViewFactory và bạn chỉ có 2 chế độ xem, hãy sử dụng ViewSwitcher. Nếu bạn muốn có thể thay đổi chế độ xem định kỳ, hãy sử dụng ViewFlipper. Nếu bạn không cần sử dụng ViewAnimator.


Sau khi triển khai một trình lật chế độ xem chứa khoảng 10 chế độ xem tùy chỉnh chủ yếu là văn bản và chờ 5 giây cho lần tải đầu tiên, tôi nghĩ lợi ích của chế độ xem là giúp cho việc khởi tạo nhanh hơn. Tôi cũng nhận được phản hồi chậm trên các nút chuyển tiếp và quay lại. Có điều gì đó không ổn với ViewAnimator, không chắc tại sao nó lại mất nhiều thời gian như vậy. Tôi sẽ lược tả nó với traceview vào cuối tuần này và sẽ đăng lại với những gì tôi học được.
William T. Mallard

@ WilliamT.Mallard Bây giờ là năm 2020
Mitch

13

ViewFlipper hỗ trợ nhiều hơn hai chế độ xem, ViewSwitcher chỉ hỗ trợ 2.


35
Chẳng phải rằng vấn đề :)
paweloque

7

Tôi không chắc liệu có sự khác biệt lớn nào giữa chúng hay không nhưng từ những gì tôi thu thập được, sự khác biệt là ViewSwitcher được sử dụng trong các trường hợp mà chế độ xem giống nhau nhưng dữ liệu khác nhau - như trên một ứng dụng lịch - chúng tôi chỉ thay đổi dữ liệu trong chế độ xem.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.