TextInputLayout使用时各个地方的字体颜色

Posted ly570

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
--------------------- 

以上是关于TextInputLayout使用时各个地方的字体颜色的主要内容,如果未能解决你的问题,请参考以下文章

调用 recreate() 方法时 TextInputLayout 提示不会刷新

Android - MD之TextInputLayout的使用

更改 TextInputLayout 提示行为

3分钟学会TextInputLayout

[TextInputLayout使用自动完成功能时背景颜色会发生变化

当我的 textInputLayout 为空时如何出错