【问题标题】:OutlinedBox TextInputLayout and gravity center?OutlinedBox TextInputLayout 和重心?
【发布时间】:2018-11-21 13:28:32
【问题描述】:

如何用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?

【问题讨论】:

  • TextInputLayout 上使用提示而不是TextInputEditText
  • @JeelVankhede 它不工作,看起来一样

标签: android android-support-library android-textinputlayout material-components material-components-android


【解决方案1】:

对于Material Components Library,从版本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>

结果是:

【讨论】:

  • 当我将app:hintEnabled="false"app:boxBackgroundMode="none" 设置为TextInputLayout 时它不起作用
  • @KuvonchbekYakubov 这很清楚。使用app:hintEnabled="false",布局的浮动标签禁用,这意味着没有折叠标签。使用app:boxBackgroundMode="none" 文本输入区域不会绘制为框。这意味着没有一个轮廓框。
【解决方案2】:

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

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

【讨论】:

  • 还是这样吗?以后版本的 Material Design 会支持居中的 TextInputLayouts 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
  • 2020-10-26
  • 2019-06-23
  • 2017-01-18
  • 1970-01-01
相关资源
最近更新 更多