如何更改 TextInputLayout 的提示大小

这是我的 xml

<android.support.design.widget.TextInputLayout
style="@style/main_input_text"
android:layout_marginTop="@dimen/activity_medium_margin"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">


<android.support.v7.widget.AppCompatEditText
style="@style/main_edit_text"
android:inputType="text" />


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

这就是风格

<style name="main_input_text">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">@dimen/activity_edittext_height</item>
<item name="android:background">@drawable/mc_shape_border_button_transparent</item>
<item name="android:gravity">center_vertical</item>
<item name="android:paddingTop">@dimen/activity_extra_small_margin</item>
<item name="android:paddingBottom">@dimen/activity_extra_small_margin</item>
<item name="android:keyTextSize">8sp</item>
<item name="android:textSize">8sp</item>
</style>

我没有发现像 hintSize,textSize 和 keyTextSize 这样的东西不起作用

54693 次浏览

您可以减少 EditText 上的字体大小-这也将减少提示的大小。例如,android: textSize = “16sp”

以 XML 格式更改 TextInputLayout 的 app:errorTextAppearance

<android.support.design.widget.TextInputLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:errorTextAppearance="@style/CustomTextInputLayoutStyle.ErrorTextStyle">

styles.xmlCustomTextInputLayoutStyle.ErrorTextStyle定义为

<style name="CustomTextInputLayoutStyle.ErrorTextStyle" parent="TextAppearance.Design.Error">
<item name="android:textSize">10sp</item>
</style>

在 styles.xml 中

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

然后在你的布局文件里:

<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginTop="12dp"
app:hintTextAppearance="@style/TextLabel"
android:minHeight="30dp">

1)使用样式将 hintTextAppearance添加到您的 InputLayout 中

<android.support.design.widget.TextInputLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/TextInputLayoutHintText" >
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp" />
</android.support.design.widget.TextInputLayout>

2)然后将样式添加到 styles.xml 中

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

@ Santiago Martínez 的回答只适用于非空 Edittext(在 TextInputLayout内部)的提示

但是对于空的 EdittextTextInputLayout提示从 Edittext textSize获取属性。

对于 material 1.4.0

implementation 'com.google.android.material:material:1.4.0'

您只需更改 TextInputEditTextandroid:textSize属性,就可以更改提示大小。

<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content">


<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"/>


</com.google.android.material.textfield.TextInputLayout>