2013-01-04 31 views
6

Tại sao điều này không tập trung vào nội dung trong chế độ xem?Lực hấp dẫn thẳng đứng không phản hồi

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:layout_gravity="center_vertical" 
    tools:context=".MainActivity"> 

    <EditText 
     android:id="@+id/messageTextField" 
     android:layout_weight="1" 
     android:inputType="number" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="@string/messageTextFieldPlaceholder" 
    /> 
    <Button 
     android:id="@+id/sendButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/sendButtonTitle" 
     android:onClick="sendMessage" 
    /> 

</LinearLayout> 

tôi thấy một vài SO đề về sự liên kết dọc và tôi cũng đã thấy this, nhưng tôi chỉ có một LinearLayout ngang, do đó thiết lập mức độ nghiêm trọng sẽ điều chỉnh các quan điểm từ bên này sang bên kia.

Vì LinearLayout có kích thước của cha mẹ, liệu nó có không lấp đầy toàn bộ màn hình không?

Không nên android:layout_gravity="center_vertical" căn chỉnh các phần phụ của nó ở giữa (theo chiều dọc) của kích thước của nó?

Đây là điều có ý nghĩa đối với tôi trong quá trình mã hóa mà tôi đã thực hiện, vậy tại sao Android không có ý nghĩa?

Tôi có cần một LinearLayout khác là dọc mà giữ mọi thứ khác bên trong nó và có điều đó với android:layout_gravity="center_vertical" không?

Trả lời

9

layout_gravity:
tiêu chuẩn trọng lực liên tục mà một đứa trẻ có thể cung cấp cho mẹ của nó.

gravity:
Chỉ định làm thế nào để đặt nội dung của một đối tượng, cả hai trên x- và trục y, trong phạm vi các đối tượng chính nó.

Vì vậy, nếu bạn muốn nội dung của mình được căn giữa theo chiều dọc, bạn cần gravity không layout_gravity.

+0

OK. Vì vậy, layout_gravity là dành cho các nội dung khi nó giao tiếp với bố cục và trọng lực của nó sẽ dành cho các bố cục khi nó điều chỉnh nội dung của nó, phải không? – RileyE

+0

có. 'layout_gravity' -> con thành cha mẹ,' gravity' -> cha mẹ cho con. – Ahmad

+1

Tuyệt. Cảm ơn bạn! – RileyE

1

Thay vì sử dụng android:layout_gravity="center_vertical", vui lòng sử dụng android:gravity="center_vertical", Nó sẽ hoạt động ... :)

+0

Cảm ơn sự giúp đỡ của bạn. Tuy nhiên, tôi phải đi với Ahmad để giải thích thêm. – RileyE

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