17

如何使用TextInputLayout实现居中的新OutlinedBox样式?

当前行为:

左边和中间

<android.support.design.widget.TextInputLayout
    android:id="@+id/textInputLayout2"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="left"
    >
    <android.support.design.widget.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:hint="hint"
        />
</android.support.design.widget.TextInputLayout>

<android.support.design.widget.TextInputLayout
    android:id="@+id/textInputLayout"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    >
    <android.support.design.widget.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:hint="hint2"
        />
</android.support.design.widget.TextInputLayout>

我用com.android.support:design:28.0.0.

有什么想法可以实现居中的正常外观 TextInputEditText?

4

2 回答 2

14

使用材料组件库,从版本开始,1.2.0-alpha02折叠标签的位置是通过编辑文本确定的gravity

使用类似的东西:

<com.google.android.material.textfield.TextInputLayout
    android:hint="@string/...."
    ...>

    <com.google.android.material.textfield.TextInputEditText
        android:gravity="center"
        ../>

</com.google.android.material.textfield.TextInputLayout>

结果是:

在此处输入图像描述

于 2019-11-21T08:19:16.407 回答
0

轮廓文本字段内的居中文本并不是我们真正支持的情况。指南中根本没有提到它(https://material.io/design/components/text-fields.html

当应用中心重力时,标签文本居中看起来确实像一个错误。解决这个问题的最简单方法是通过https://github.com/material-components/material-components-android上的修复向我们发送 pr 。或者您可以在此处提交错误:https ://issuetracker.google.com/issues/new?component=439535 。

于 2018-11-30T15:42:21.643 回答