当前位置: 首页 > 知识库问答 >
问题:

TextInputLayout-如果EditText不为空且未聚焦,则更改浮动标签提示颜色

丁鸿信
2023-03-14

如果editText不为空且未聚焦,如何更改提示颜色?

这是我当前的代码

<android.support.design.widget.TextInputLayout
    android:id="@+id/email"
    style="@style/AuthInput"
    android:layout_marginTop="32dp"
    android:hint="@string/hint_email"
    android:inputType="textEmailAddress"
    android:theme="@style/AuthInput"
    app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout">

    <EditText
        android:id="@+id/edit_email"
        style="@style/AuthEditText"
        android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>

和样式:

<style name="AuthInput">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColorHint">@color/black</item>
    <item name="android:paddingLeft">0dp</item>
</style>

<style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/inputHintActive</item>
</style>

共有3个答案

方鸿羲
2023-03-14

更改您的< code>TextInputLayout样式

您的< code>TextInputLayout

<android.support.design.widget.TextInputLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextLabel">

    <android.support.v7.widget.AppCompatEditText
        android:id="@+id/edit_id"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="hintText"/>

</android.support.design.widget.TextInputLayout>

您的文本输入布局样式会根据您的测试更改颜色

<style name="TextLabel" parent="TextAppearance.AppCompat">
    <!-- Hint color and label color in FALSE state -->
    <item name="android:textColorHint">@color/colorBlack</item>

    <!-- Label color in TRUE state and bar color FALSE and TRUE State -->
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="colorControlNormal">@color/colorPrimaryDark</item>
    <item name="colorControlActivated">@color/colorGray</item>
</style>
呼延俊良
2023-03-14

您可以通过以下方式更改提示颜色

editText.setHintTextColor(getResources().getColor(R.color.white));

如果您想清除编辑文本的焦点,请使用

editText.clearFocus();
金钧
2023-03-14

试试下面的代码:

<style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/black</item>
    <item name="colorControlNormal">@color/transparant</item>
    <item name="colorControlHighlight">@color/black</item>
    <item name="colorControlActivated">@color/transparant</item>
    <item name="android:textColorHint">@color/black</item> // set grey color for hint
</style>
 类似资料:
  • 就像外面的数百个问题一样,我想改变暗示的颜色。本来我想在评论中问另一个这样的问题(未回答),但我没有足够的声誉,所以我在这里问。 我希望当提示在TextInputEditText中时是一种颜色,当它浮动时是另一种颜色。在其他帖子中,答案总是在视图聚焦时如何更改提示。那不是我想要的,我能做到。如果编辑文本不是空的,我想更改提示颜色。我正在使用材料设计textInputLayout和TextInput

  • 参考Google发布的新,如何更改浮动标签文本颜色? 在样式中设置、、没有帮助 这就是我现在拥有的:

  • 我正在使用设计库中新的。我能够让它显示和改变浮动标签的颜色。不幸的是,实际的提示现在总是白色的。 我尝试过用XML、样式和编程方式更改hintColor,还尝试过使用android。支持v7。小装置。AppCompatiEditText但是提示始终显示白色。 这是我的和 下面是我用于的样式(我尝试将属性设置为黑色,但没有为我做任何事情):

  • 我正在使用android设计库的。但无法自定义内部的提示颜色、标签颜色和下划线颜色。请帮忙。

  • 我遇到过这个奇怪的问题,在开始时,字段的颜色更改为,就像在出现时一样。而且,这种情况并不是每次都发生,只是在某些情况下才会出现。如何修复此bug?任何帮助都很感激。请参阅图片更多。这是代码 以下是样式: