Tôi muốn hiển thị một nút dưới a ListView
. Vấn đề là, nếu ListView
được mở rộng (các mục được thêm vào ...), nút sẽ bị đẩy ra khỏi màn hình.
Tôi đã thử một LinearLayout
với trọng lượng (như được đề xuất trong Android: tại sao không có maxHeight cho Chế độ xem? ), Nhưng tôi đã sai trọng lượng hoặc đơn giản là nó không hoạt động.
Ngoài ra, tôi đã tìm thấy ở đâu đó gợi ý để sử dụng a RelativeLayout
. Sau ListView
đó sẽ được đặt phía trên nút với android:layout_above
tham số.
Vấn đề với điều này là tôi không biết làm thế nào để định vị nút sau đó. Trong ví dụ mà tôi tìm thấy, Chế độ xem bên dưới ListView
đã được điều chỉnh bằng cách sử dụng android:layout_alignParentBottom
, nhưng tôi không muốn nút của mình bám vào cuối màn hình.
Bất kỳ ý tưởng nào ngoài việc sử dụng phương pháp setHeight và một số tính toán không gian cần thiết?
Chỉnh sửa: Tôi nhận được rất nhiều câu trả lời hữu ích.
Giải pháp của bigstone & user639183 gần như hoạt động hoàn hảo. Tuy nhiên, tôi phải thêm một khoảng đệm / lề bổ sung vào cuối nút, vì nó vẫn sẽ bị đẩy ra khỏi màn hình một nửa (nhưng sau đó dừng lại)
Câu trả lời của Adinia chỉ với bố cục tương đối là ổn nếu bạn muốn nút cố định ở cuối màn hình. Nó không phải là những gì tôi dự định nhưng vẫn có thể hữu ích cho những người khác.
Giải pháp của AngeloS là giải pháp tôi đã chọn cuối cùng vì nó chỉ tạo ra các hiệu ứng mà tôi muốn. Tuy nhiên, tôi đã thực hiện hai thay đổi nhỏ đối với nút
LinearLayout
xung quanh:Đầu tiên, vì tôi không muốn có bất kỳ giá trị tuyệt đối nào trong bố cục của mình, tôi đã thay đổi
android:layout_height="45px"
thànhwrap_content
, điều này cũng hoạt động tốt.Thứ hai, vì tôi muốn nút được căn giữa theo chiều ngang, chỉ được hỗ trợ bởi chiều dọc
LinearLayout
, tôi đã thay đổi android: orient = "vertical" thành "vertical".
AngeloS cũng tuyên bố trong bài đăng đầu tiên của mình rằng anh ấy không chắc liệu các
android:layout_weight="0.1"
tham sốLinearLayout
xung quanhListView
có bất kỳ tác dụng nào không; Tôi chỉ thử và nó thực sự làm! Nếu không, nút lại bị đẩy ra khỏi màn hình.
android:layout_alignParentBottom="true"
. Nhưng rõ ràng hơn, bạn có muốn nút tiếp tục được gắn vào cuối ListView khi có ít mục không? Nếu có, hãy xem Rich nói gì.