2012-04-30 37 views
9

tôi đã bố trí các tập tin sau đây:Tại sao layout_marginBottom bị bỏ qua khi sử dụng wrap_content?

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#FF0000" > 

<RelativeLayout 
    android:id="@+id/usericon_img" 
    android:layout_width="73.3334dp" 
    android:layout_height="70.6667dp" 
    android:layout_marginBottom="2.6667dp" 
    android:layout_marginLeft="3.3334dp" 
    android:layout_marginTop="2.6667dp" 
    android:background="#FFFFFF" /> 
</RelativeLayout> 

trên giả lập (Tôi đã thử nghiệm nó trên một thiết bị thực và có vẻ giống nhau) bố trí trông như thế này: enter image description here

Câu hỏi của tôi là: tại sao tôi không có lề màu đỏ dưới bố cục màu trắng? Tôi biết rằng nếu tôi thay đổi bố cục bên ngoài thành:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="76dp" 
android:background="#FF0000" > 

Tôi sẽ nhận được những gì tôi muốn, nhưng tại sao wrap_content không hoạt động chính xác?

Trả lời

6

Trong documentation:

Để đo kích thước của nó, một cái nhìn có tính đệm của nó.

Nếu tôi không nhầm nó có nghĩa là lề không được thêm vào thứ nguyên. Điều đó có nghĩa là wrap_content hoạt động chính xác nhưng không tính đến lợi nhuận.

Chỉ một câu hỏi ngắn: Tại sao bạn sử dụng các giá trị như 70.6667dp?

+0

Tôi đã sử dụng 70.6667 vì tôi muốn có kích thước 106 pixel trên màn hình hdpi. – Toorop

+0

nếu lề bị bỏ qua, tại sao tôi có lề trái và trên? – Toorop

+1

thử sử dụng đệm thay vì – Ahmad

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