垂直对齐重力无响应

Ril*_*eyE 6 xml layout android

为什么不将视图中的内容居中?

<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>
Run Code Online (Sandbox Code Playgroud)

我看到了一些关于垂直对齐的SO线程,我也看到了这个,但我只有一个水平的LinearLayout,所以设置引力会从一侧到另一侧调整视图.

由于LinearLayout具有父级的维度,它是否不会填满整个屏幕?

不应该android:layout_gravity="center_vertical"在它的尺寸的中心(垂直)对齐它的子视图?

这对我来说在我编写的代码中是有意义的,那么为什么android没有意义呢?

我是否需要另一个垂直的LinearLayout,它包含其中的所有其他内容并具有android:layout_gravity="center_vertical"

Ahm*_*mad 9

layout_gravity:
儿童可以向其父母提供的标准重力常数.

gravity:
指定如何在对象本身内放置对象的内容,包括x轴和y轴.

所以,如果你想要垂直居中你的内容,你需要gravitylayout_gravity.