GridView VS GridLayout trong ứng dụng Android


212

Tôi phải sử dụng Lưới để triển khai Trình duyệt ảnh trong Android. Vì vậy, tôi muốn biết sự khác biệt giữa GridView và GridLayout .

Vì vậy, tôi sẽ chọn đúng.

Hiện tại tôi đang sử dụng GridView để hiển thị hình ảnh động.

Câu trả lời:


264

Một GridView là một ViewGroup mà hiển thị các mục trong lưới di chuyển hai chiều. Các mục trong lưới đến từ ListAd CHƯƠNG được liên kết với chế độ xem này.

Đây là những gì bạn muốn sử dụng (tiếp tục sử dụng). Vì GridView lấy dữ liệu từ ListAd CHƯƠNG, dữ liệu duy nhất được tải trong bộ nhớ sẽ là dữ liệu được hiển thị trên màn hình. GridViews, giống như ListViews tái sử dụng và tái chế các khung nhìn của chúng để có hiệu suất tốt hơn.

Trong khi GridLayout là một bố cục đặt con cái của nó vào một lưới hình chữ nhật.

Nó được giới thiệu trong API cấp 14 và gần đây đã được nhập vào Thư viện hỗ trợ. Mục đích chính của nó là để giải quyết các vấn đề liên kết và hiệu suất trong các bố cục khác. Hãy xem hướng dẫn này nếu bạn muốn tìm hiểu thêm về GridLayout.


15
GridLayout cũng là một Viewgroup.
Dzmitry Lazerka

22
Tôi chưa bao giờ nói nó không phải. Tôi chỉ nhấn mạnh vào thực tế rằng nó là một bố cục.
Benito Bertoli

16
@laki một kịch bản sẽ là nếu bạn muốn tải một loạt các hình ảnh trong một hình dạng giống như lưới. Sử dụng GridView sẽ chỉ tải trong bộ nhớ các chế độ xem hiển thị trên màn hình. Trong khi đó, nếu bạn sử dụng GridLayout, bạn sẽ phải tải tất cả các hình ảnh sẽ được hiển thị bất cứ lúc nào gây ra lỗi ngoài luồng trong hầu hết các thiết bị.
BigBen3216

15
Sự khác biệt cơ bản dường như là GridView chỉ có thể chứa chiều rộng cột đồng nhất trong suốt. Bố cục lưới cho phép bạn có nội dung trải dài từ 2 cột trở lên. Bố cục lưới cho phép bạn thiết kế màn hình có nội dung trải rộng các kích cỡ cột khác nhau
Yasir

58
@laki Kịch bản một: Vẽ một máy tính, GridLayout. Kịch bản hai: Vẽ một bộ sưu tập, GridView.
Mario Velasco
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.