【问题标题】:How to set the TextInputLayout hint with multiple styles?如何设置具有多种样式的 TextInputLayout 提示?
【发布时间】:2018-06-21 13:41:28
【问题描述】:

我在里面有一个 TextInputLayout 和 Edittext,需要用多种样式制作提示,如出生日期 mm/dd/yyyymm/dd/yyyy 只应该是斜体,当我们关注 Edittext 时,顶部应该有相同格式的文本(与 TextInputLayout 一样)。

我已经尝试过,类似的也有:

  1. 使用 SpannableString 并在 EditText 上设置提示
  2. 分配 Htmlformatter 并在 editext 上设置提示

对于上述两个问题 -- 当焦点位于edittext 时,浮动文本不可用。

  1. 使用 SpannableString 和 Htmlformatter 在 TextInputLayout 上设置提示: 对于这个问题,mm/dd/yyyy 的斜体不起作用,但焦点和浮动文本有效。

需要知道我们如何为 TextInputLayout 提示 设置多种样式,同时具有相同样式的文本。

【问题讨论】:

  • 您希望在edittext 中没有焦点时textinputLayout 为非斜体,而在edittext 中焦点时textinputLayout 为斜体?
  • 具有多种样式的单个文本。例如:假设出生日期 mm/dd/yyyy 是整个文本,我希望将出生日期作为普通文本,将 dd/mm/yyy 作为斜体。它应该适用于焦点和浮动文本。
  • 你想让 EditText 中的文本与提示文本和浮动文本有不同的样式吗?

标签: android android-layout android-textinputlayout


【解决方案1】:

使用 Material Components 库,从 1.2.0-alpha05 开始,您可以格式化提示文本。

只需使用:

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

与:

<string name="hint_italic">Date of Birth <i>mm/dd/yyyy</i></string>

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 1970-01-01
    • 2014-12-21
    • 2017-09-25
    • 2021-03-20
    • 1970-01-01
    • 2017-03-11
    • 2016-10-19
    • 1970-01-01
    相关资源
    最近更新 更多