Tôi đang cố gắng chia một trang thành ba phần. Tôi muốn làm điều đó trong các giá trị phần trăm, tuy nhiên điều đó không được Android hỗ trợ. Thay vào đó, tôi phải sử dụng android:layout_weight
. Nhưng tôi có một thời gian khó hiểu và làm đúng. Đặc biệt là kích thước thực tế được tính toán như thế nào. Có cách nào để nhận giá trị phần trăm (0,100%) trong số android:layout_weight
không?Android: cố gắng hiểu android: layout_weight
Tôi đã xem xét một vài trường hợp (xem ảnh chụp màn hình đính kèm) để mô tả sự cố. Các trường màu là tất cả <LinearLayout>
với android:layout_height="fill_parent"
, bởi vì tôi muốn toàn màn hình được chia giữa các trường đó.
Trường hợp 1
Được rồi, đơn giản. Mỗi <LinearLayout>
nhận được 33%.
Trường hợp 2
Ups ?! Đầu tiên (màu vàng) <LinearLayout>
biến mất hoàn toàn? Tại sao?
Trường hợp 3
Confused một lần nữa. Vàng <LinearLayout>
đã hoạt động trở lại. Tuy nhiên, hai đầu tiên <LinearLayout>
với trọng lượng nặng hơn sẽ nhỏ hơn? Chuyện gì vậy?
Trường hợp 4
Tôi hoàn toàn không có ý tưởng những gì mà toán học đằng sau tất cả điều này là.
Đánh dấu, bạn đã thực hiện một ngày của tôi. Bạn không thể tin được bao nhiêu thời gian tôi đã cố gắng để tìm ra những trường hợp kỳ lạ. Và đơn giản 'android: layout_height =" 0px "' giải quyết mọi thứ :-) – znq
Đặt layout_width thành "fill_parent" và layout_weight thành giá trị float như "0,2", "0,75" cũng hoạt động, trong trường hợp này số càng lớn một phần của không gian yếu tố sẽ mất. Bạn có thể vui lòng cho biết đây có phải là cách chấp nhận được không? – Yar