Tôi có một ListView khá phức tạp, với chiều cao mục danh sách biến. Trong một số điều kiện nhất định, tôi cần hiển thị một chế độ xem bổ sung trong một mục danh sách, được ẩn theo mặc định (View.GONE). Bằng cách kích hoạt nó (View.VISIBLE), mục danh sách phát triển theo chiều cao (hoặc ít nhất nó được cho là).Tại sao các mục ListView không phát triển để bao bọc nội dung của chúng?
Vấn đề: Mặc dù tôi khai báo bố cục gốc của mặt hàng thành wrap_content, và mỗi thành phần trong mục để fill_parent, chế độ xem tôi ẩn/hiển thị được cho là thay đổi chiều cao của mục chỉ đơn giản là cắt ở dưới cùng của bố mẹ của nó (bố cục mặt hàng) phát triển theo chiều cao để hiển thị đầy đủ nó.
Có bất kỳ gotchas nào liên quan đến ListView và bố cục mục và chiều cao mục mà tôi có thể đã bỏ qua không?
Một số chi tiết quan sát:
Đối với mục đích thử nghiệm bây giờ tôi đã giảm bố trí danh mục chỉ chứa LinearLayout gốc và một ImageView. Khi tôi đặt chiều cao LinearLayout thành ví dụ: 200dip và ImageView để fill_parent, tôi đã mong đợi ImageView sẽ phát triển cho đến khi nó đạt đến giới hạn 200dip do cha mẹ của nó đặt.
Tuy nhiên, hình ảnh sẽ chỉ cao bằng tài nguyên bitmap của nó (như tôi đã đặt nó thành wrap_content) và toàn bộ mục danh sách sẽ có cùng chiều cao (ví dụ như tôi đã đặt nó thành wrap_content , quá).
Nếu tuy nhiên tôi đặt chiều cao hình ảnh thành ví dụ: 200dip, khi đó mục danh sách sẽ tăng theo chiều cao và bố cục mặt hàng cũng vậy.
Nói cách khác, layout_height của bố cục mục danh sách bị bỏ qua hoàn toàn và do đó, bất kỳ giá trị độ cao nào trên ImageView khác với giá trị pixel được mã hóa cứng.
HI .. Matthias Vui lòng cung cấp cho tôi ví dụ làm việc. Tôi cũng phải đối mặt với cùng một vấn đề, nhưng không rõ làm thế nào u giải quyết. vấn đề. –