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>
--------------------- 

posted on 2019-06-09 02:08  激流勇进1  阅读(1209)  评论(0编辑  收藏  举报