12

Ưu điểm và nhược điểm của CardView, khác với bóng hoặc độ cao, lợi ích trong hiệu suất và giao diện là gì? Những gì được thực hiện bằng cách sử dụng CardView cũng có thể được thực hiện bằng cách sử dụng kết hợp các bố cục khác.Lợi thế và bất lợi của CardView

+0

Không có sự khác biệt trong 'CardView' và' ListView' trừ ** shadows ** và ** rounded corner **. Bạn có thể làm bất cứ điều gì trong listview có thể được thực hiện trong cardview – Apurva

Trả lời

18

Ưu điểm của Cardview chắc chắn là việc thực hiện mặc định của bóng và góc tròn, nói cách đơn giản Cardview chỉ là FrameLayout có bóng và góc tròn. Bạn có thể thực hiện hầu như các nội dung tương tự với số Cardview mà bạn có thể thực hiện với một số Framelayout (dưới dạng Cardview kéo dài FrameLayout). Cardview cho API> 21 sử dụng api độ cao để đặt bóng trong khi ở dưới API 21 nó thêm một đệm với nền màu xám để tạo bóng giả (giống như triển khai tùy chỉnh mà bạn đang nói đến).

Cardview được thiết kế để giữ một cái nhìn đứa trẻ duy nhất trong chính nó và sẽ rất khó khăn để quản lý nhiều lần xem con mà không chồng chéo lên nhau như không có sự ủng hộ của bất động sản như layout_below, layout_torightof vv .. để khắc phục điều này, các cách tiếp cận được thực hiện bởi các nhà phát triển sẽ thêm một Relativelayout khác trong số Cardview để quản lý chế độ xem con, giờ điều này sẽ dẫn đến tiêu thụ tài nguyên nhiều hơn do bố cục lồng nhau.

Để xử lý các bố cục phức tạp, nên sử dụng chế độ xem tùy chỉnh và chỉ sử dụng chế độ xem một trẻ em sử dụng Cardview.

Để chỉ đơn giản là đặt chi phí của các cạnh và bóng tròn: Nếu bạn xem Framelayout như một chiếc bánh thì độ cao giống như đóng băng và các cạnh được làm tròn giống như cao su anh đào. Thẩm mỹ của nó với đóng băng và đứng đầu nhưng bạn phải đổ thêm Bucks cho đóng băng và anh đào.

+0

Vì vậy, những gì bạn có nghĩa là để nói là 'CardView' chỉ là beneficical khi được sử dụng cho Api> 21. Đối với Api <21 nó hoạt động giống như 'FrameLayout'. –

+0

@MohammedAli Không, đối với API <21, nó hiển thị bóng và góc với việc triển khai tùy chỉnh. Vì vậy, lợi ích trên thực tế là thiết kế nhất quán trên tất cả các phiên bản API. – sorianiv

+0

@Psypher vui lòng trả lời câu hỏi này: http://stackoverflow.com/questions/36393540/no-shadow-elevation-underneath-second-card-if-there-are-two-card-in-the-layout –

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