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

浮动时TextInputLayout更改提示颜色

单于庆
2023-03-14

就像外面的数百个问题一样,我想改变暗示的颜色。本来我想在评论中问另一个这样的问题(未回答),但我没有足够的声誉,所以我在这里问。

我希望当提示在TextInputEditText中时是一种颜色,当它浮动时是另一种颜色。在其他帖子中,答案总是在视图聚焦时如何更改提示。那不是我想要的,我能做到。如果编辑文本不是空的,我想更改提示颜色。我正在使用材料设计textInputLayout和TextInputeDitText。尝试了不同的样式和选择器,仍然不能做到这一点。试图扩展TextInputLayout,但我不知道如何将其绑定到EditText,以便可以对子视图使用OnTextListener。

<style name="TextInputLayoutAppearance" parent="Widget.Design.TextInputLayout">
    <item name="colorControlNormal">@color/green_03</item>
    <item name="colorControlActivated">@color/green_03</item>
    <item name="hintTextColor">@color/dark_blue_60</item>
</style>

<style name="MyHintStyle" parent="@android:style/TextAppearance">
    <!-- Hint color when floating and focused-->
    <item name="android:textColor">@color/dark_blue_60</item>
    <!-- doesn't change anything -->
    <item name="android:textColorHint">@color/dark_blue</item>
    <item name="colorAccent">@color/green_03</item>

    <item name="colorControlNormal">@color/green_03</item>
    <item name="colorControlActivated">@color/green_03</item>

</style>
<com.google.android.material.textfield.TextInputLayout
            android:id="@+id/textInputLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:textColorHint="@color/dark_blue"
            android:theme="@style/TextInputLayoutAppearance"
            app:errorEnabled="true"
            app:hintTextAppearance="@style/MyHintStyle">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/textInputEditText"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:backgroundTint="@color/green_03"
                android:hint="@string/phoneNumber"
                android:textColor="@color/dark_blue"
                android:inputType="number"
                android:maxLength="3"
                android:text="12" />

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

共有1个答案

蓟和煦
2023-03-14

我想您可以检查editext是否包含某些内容,或者is是否聚焦。如果是这样-那么你改变颜色的暗示。检查this的最佳位置-view.EditText的FocusListener。

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

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

  • 我正在使用MaterialComponents大纲TextInputLayout。我需要在提示文本上设置不同的颜色: “Main”提示(当TextInput中没有文本时)-->带有60%alpha的黑色 浮动提示-->与轮廓相同的颜色(即非活动时为colorPrimary,活动时为colorAccent) 我正在使用Android:TextColorHint设置主提示颜色,App:HintText

  • 如果editText不为空且未聚焦,如何更改提示颜色? 这是我当前的代码: 和样式:

  • 启用这些后,我需要提示以不同的颜色显示,如下所示 当我这样尝试时,效果很好 问题是,我必须使用来显示浮动提示。所以,当我在中添加时,这段代码根本不起作用。我用尝试了很多东西,如下所示。但没有任何效果。我只需要EditText的提示文本颜色(不是浮动提示文本)在启用时应该是一种颜色,在禁用时,在中使用时应该是不同的颜色。请帮助! 注意:我的问题不是这个问题的重复。在那里,它提到了TextInputL

  • 我使用TextInputLayout,如果输入字段是强制性的,我希望以编程方式设置提示文本颜色和浮动标签颜色。在转到TextInputLayout之前,我使用以下方法以编程方式设置提示文本颜色 有人能指导我如何通过编程方式为TextInputLayout设置提示文本颜色和浮动标签颜色吗。