以编程方式更改 TextInputLayout 聚焦和非聚焦提示颜色

use*_*573 7 android android-layout android-edittext android-textinputlayout

我想改变 TEXT INPUT LAYOUT 中的提示颜色,当它处于聚焦或未聚焦状态时相同。我有两个 TEXT INPUT LAYOUT 字段。两个字段都是相同的颜色。但它在聚焦状态颜色出现,但在未聚焦状态下为默认值灰色出现。我想在聚焦和未聚焦状态下保持提示的颜色相同。

   <com.example.viveka.snipeid.CustomTextInputLayout
        android:id="@+id/input_layout_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        app:errorEnabled="true"
        >
    <EditText
        android:id="@+id/editEmail"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:hint="email / snipe id"
        android:digits="abcdefghijklmnopqrstuvwxyz.@0123456789"
        android:textAllCaps="false"
        android:textSize="12sp"
        android:layout_marginLeft="-4dp"
        android:textColor="@color/lightgray"
        android:textColorHint="@color/primary"/>
    </com.example.viveka.snipeid.CustomTextInputLayout>
Run Code Online (Sandbox Code Playgroud)

预期图像 在此处输入图片说明 我得到了什么 在此处输入图片说明

我需要将两个字段更改为相同的颜色..

KeL*_*yue 1

你可以这样做。

android:textColorHint="#FF0000"是EditText的提示颜色。

如果您想要文本颜色以及提示颜色。

您可以android:textColor="#FF0000"EditText.

您可以添加app:errorTextAppearance="@style/text_in_layout_error_hint_Style"更改错误文本颜色。

<com.example.viveka.snipeid.CustomTextInputLayout
    android:id="@+id/input_layout_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:textColorHint="#FF0000"
    app:errorTextAppearance="@style/text_in_layout_error_hint_Style"
    app:hintTextAppearance="@style/text_in_layout_hint_Style"
    app:errorEnabled="true">

    <EditText
        android:id="@+id/editEmail"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginLeft="-4dp"
        android:digits="abcdefghijklmnopqrstuvwxyz.@0123456789"
        android:hint="email / snipe id"
        android:textAllCaps="false"
        android:textColor="#FF0000"
        android:textColorHint="@color/primary"
        android:textSize="12sp"/>
</com.example.viveka.snipeid.CustomTextInputLayout>
Run Code Online (Sandbox Code Playgroud)

提示 LEFT-TOP颜色取决于app:hintTextAppearance="@style/text_in_layout_hint_Style"

以及样式代码:

<style name="text_in_layout_hint_Style">
    <item name="android:textColor">#FF0000</item>
    <item name="android:textSize">12sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

添加错误文本样式

 <style name="text_in_layout_error_hint_Style">
    <item name="android:textColor">#00ff00</item>
    <item name="android:textSize">12sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

像这样: 在此输入图像描述 希望对您有所帮助。