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>

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

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

不应该android:layout_gravity =“center_vertical”在它的维度的中心(垂直)对齐它的子视图?

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

我是否需要另一个垂直的LinearLayout来保存其中的所有内容并使用android:layout_gravity =“center_vertical”?

解决方法

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

重力:
指定如何放置对象的内容
在x轴和y轴上,在对象本身内.

因此,如果您希望内容垂直居中,则需要引力而不是layout_gravity.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...