调用setError()时如何更改TextInputLayout的浮动标签颜色

时间:2016-05-01 10:26:19

标签: android android-textinputlayout

字符计数器在最大长度时更改浮动标签颜色,但调用@FXML private void initialize() { userModel = new UserModel(); } 不会更改它。

Screenshot

我尝试了setError()

风格/ MyErrorText:

app:errorTextAppearance="@style/MyErrorText"

我也试过<style name="MyErrorText" parent="TextAppearance.AppCompat.Small"> <item name="android:textColor">@color/error_color</item> </style> 。但是,他们没有改变。调用setErrorEnabled(true)时有没有办法更改浮动标签颜色?

xml代码:

setError()

风格/ CustomTilTheme:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingLeft="@dimen/spacing_big"
        android:paddingRight="@dimen/spacing_big"
        android:paddingTop="@dimen/spacing_small">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/text_input_layout_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:counterEnabled="true"
            app:counterMaxLength="25"
            app:theme="@style/CustomTilTheme"
            android:layout_marginBottom="@dimen/spacing_small">

            <android.support.design.widget.TextInputEditText
                android:id="@+id/list_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/name_hint"
                android:textSize="@dimen/text_normal">

                <requestFocus/>
            </android.support.design.widget.TextInputEditText>
        </android.support.design.widget.TextInputLayout>

        ......

    </LinearLayout>
</ScrollView>

java代码:

<style name="CustomTilTheme" parent="Theme.Design.Light">
    <item name="colorControlActivated">@color/accent_color</item>
</style>

我正在使用

  • 支持库23.3.0
  • SDK工具25.1.3
  • SDK平台工具23.1
  • 构建工具23.0.3

此应用可在Nexus 5 API23(官方Android模拟器)上运行。

1 个答案:

答案 0 :(得分:0)

如果您将TextInputLayout浮动标签颜色更改为蓝色:

 <android.support.design.widget.TextInputLayout
                android:id="@+id/input_layout_register_firstname"
                android:textColor="@color/blue"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

抱歉,我无法上传照片,你可以试试吗

特别是这是一个快速回答,您可以创建更详细的样式,如this answer