首页 > 解决方案 > 如何更改 TextInputLayout 小部件的提示字体大小?

问题描述

我的屏幕上有一个这样的 TextInputLayout 小部件

<android.support.design.widget.TextInputLayout
        android:id="@+id/editTextClient"
        android:textColorHint="@color/colorPrimaryText"
        app:errorEnabled="true"
        app:hintEnabled="true"
        android:hint="@string/login"
        app:errorTextAppearance="@style/ErrorAppearence"
        app:hintTextAppearance="@style/TextLabel">

    <android.support.design.widget.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text"
            android:singleLine="true"
            android:textColor="@color/colorPrimaryText"/>
</android.support.design.widget.TextInputLayout>

@style/ErrorAppearence 样式定义了错误消息。@style/TextLabel 样式定义了活动标签,当我们打印某些东西时。

<style name="TextLabel" parent="TextAppearance.Design.Hint">
    <item name="android:textColor">@color/colorPrimaryText</item>
    <item name="android:textSize">12sp</item>
</style>

<style name="ErrorAppearence">
    <item name="android:textColor">@color/colorAccent</item>
    <item name="android:textSize">12sp</item>
</style>

现在我想降低 EditText 标签的 fontSize,当它不处于活动状态时。我需要你的帮助,因为我不知道我必须调整什么属性才能实现这一点。为了清楚地定义“标签”的含义,我在下面附上了图片 在此处输入图像描述

标签: androidandroid-textinputlayout

解决方案


如果您想减小字体,请将其设置为 10sp,但 android-studio 会对此发出警告。

在你style.xml这样做:

<style name="TextLabel" parent="TextAppearance.Design.Hint">
    <item name="android:textSize">10sp</item>
</style>

然后在 TextInputLayout 中执行此操作:

<android.support.design.widget.TextInputLayout
        android:id="@+id/editTextClient"
        android:textColorHint="@color/colorPrimaryText"
        app:errorEnabled="true"
        app:hintEnabled="true"
        android:hint="@string/login"
        app:errorTextAppearance="@style/ErrorAppearence"
        app:hintTextAppearance="@style/TextLabel">

推荐阅读