TextInputLayout使用时各个地方的字体颜色
我们现在在做Android端的输入框时,要具备如下功能:
默认提示
获取焦点时提示上移至输入框顶部
获取焦点时输入框有提示
错误时增加错误提示
直接上图:
默认情况:
获取焦点时:
开始输入文字时:
有错误时:
代码为(只写上图其中一个输入框):
    <android.support.design.widget.TextInputLayout
        android:id="@+id/til"
        app:hintTextAppearance="@style/textInputLayoutHint"
        app:errorTextAppearance="@style/textInputLayoutError"
        android:textColorHint="@color/color_CED2D9"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <com.test.widget.textinput.TrainEditText
            android:layout_marginBottom="-4dp"
            app:dropdown_enable="false"
            android:importantForAutofill="noExcludeDescendants"
            android:id="@+id/edit_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:ellipsize="end"
            android:drawablePadding="5dp"
            android:paddingBottom="18dp"
            android:imeOptions="actionNext"
            android:inputType="text"
            android:lines="1"
            android:theme="@style/EditTextTheme"
            android:textCursorDrawable="@drawable/train_edittext_cursor_color"
            android:maxLines="1"
            android:textColor="@color/color_train_main_text"
            android:textColorHint="@color/color_8592A6"
            android:textSize="17dp"
            android:visibility="visible"
            tools:ignore="UnusedAttribute" />
    </com.test.widget.textinput.TrainEditText>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
注意:TrainEditText是封装的TextView
那么接下来逐一介绍一下各个地方字体的颜色设置方法:以“姓氏”这个输入框为🌰:
默认情况下的“姓氏”:在TextInputLayout中设置:
android:textColorHint="@color/color_CED2D9"
1
获取焦点时,蓝色的“姓氏”:
在TextInputLayout中设置:
app:hintTextAppearance="@style/textInputLayoutHint"
1
代码为:
    <style name="textInputLayoutHint">
        <item name="android:textSize">12dp</item>
        <item name="android:textColor">@color/color_train_main</item>
    </style>
1
2
3
4
获取焦点时输入框提示字体颜色:
在TrainEditText中设置:
android:textColorHint="@color/color_8592A6"
1
获取焦点时输入框输入文字颜色:
在TrainEditText中设置:
android:textColor="@color/color_train_main_text"
1
错误提示颜色:
app:errorTextAppearance="@style/textInputLayoutError"
1
代码为:
    <style name="textInputLayoutError">
        <item name="android:textSize">14dp</item>
        <item name="android:textColor">@color/color_e30609</item>
    </style>
1
2
3
4
编辑框横线的UI
在TrainEditText中设置:
android:theme="@style/EditTextTheme"
1
代码为:
    <style name="EditTextTheme" parent="TrainAppTheme">
        <item name="colorControlNormal">@color/color_CED2D9</item> //未获得焦点时颜色
        <item name="colorControlActivated">@color/color_train_main</item>//获得焦点时颜色
    </style>
--------------------- 
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号