2011-07-04 57 views

Trả lời

22

Các < bao gồm /> sẽ chỉ bao gồm các nội dung xml trong tập tin cơ sở xml của bạn như thể toàn bộ điều chỉ là một tập tin lớn duy nhất. Đó là một cách hay để chia sẻ các phần bố trí giữa các bố cục khác nhau.

< ViewStub /> hơi khác một chút vì nó không được bao gồm trực tiếp và chỉ được tải khi bạn thực sự sử dụng/cần, tức là khi bạn đặt mức hiển thị là VISIBLE (thực sự hiển thị) hoặc INVISIBLE (vẫn không hiển thị, nhưng kích thước của nó không phải là 0 nữa). Đây là một tối ưu hóa tốt đẹp bởi vì bạn có thể có một bố trí phức tạp với tấn lượt xem hoặc tiêu đề nhỏ ở bất kỳ đâu và vẫn tải Hoạt động của bạn lên rất nhanh. Khi bạn sử dụng một trong các chế độ xem đó, nó sẽ được tải.

+1

Bạn có thể đặt chế độ hiển thị của chế độ xem thành "true"? Không phải là 'VISIBLE',' INVISIBILE' và 'GONE' là các tùy chọn hiển thị duy nhất cho chế độ xem? Chế độ xem chỉ được tải khi chế độ xem là 'VISIBLE', hoặc nó sẽ được tải khi nó không phải là' GONE'? – RestInPeace

+1

@RestInPeace Thật vậy, không chắc tại sao tôi lại viết như vậy (đã 3 năm rồi ...). Từ tài liệu: "Khi khả năng hiển thị được đặt thành' VISIBLE' hoặc 'INVISIBLE', inflate() được gọi và StubbedView này được thay thế trong bố cục của nó bằng tài nguyên bố cục được tăng cao.". Vì vậy, nó được thổi phồng khi khả năng hiển thị được đặt thành bất kỳ thứ gì ngoài 'GONE'. – Gregory

+0

Cảm ơn bạn đã làm rõ. – RestInPeace

3

Chia sẻ và sử dụng lại bố cục rất dễ dàng với Android nhờ thẻ, đôi khi thậm chí quá dễ dàng và bạn có thể kết thúc với giao diện người dùng chứa số lượt xem lớn, một số trong số đó hiếm khi được sử dụng. Rất may, Android cung cấp một tiện ích rất đặc biệt gọi là ViewStub, mang đến cho bạn tất cả những lợi ích mà không gây ô nhiễm giao diện người dùng của bạn với các chế độ xem hiếm khi được sử dụng.

ViewStub là chế độ xem câm và nhẹ. Nó không có kích thước, nó không vẽ bất cứ thứ gì và không tham gia vào cách bố trí theo bất kỳ cách nào. Điều này có nghĩa là ViewStub rất rẻ tiền để tăng cao và rất rẻ để giữ nguyên cấu trúc phân cấp. Một ViewStub có thể được mô tả tốt nhất như là một bao gồm lười biếng. Bố cục được tham chiếu bởi một ViewStub được tăng thêm và chỉ được thêm vào giao diện người dùng khi bạn quyết định như vậy.

+0

http://android-developers.blogspot.com/2009/03/android-layout-tricks-3-optimize-with.html – Zyoo

0

Một khác biệt quan trọng có liên quan đến bố trí lạm phát. với nó không thể thay đổi bố trí đã được tăng lên tĩnh trong XML, nó là cần thiết để thay thế quan điểm và thiết lập các tham số layout theo lập trình. Có thể xác định (ví dụ) chiều cao, chiều rộng, v.v ... và tăng bố cục khác nhau trong thời gian chạy

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