首页 > 解决方案 > 从 TextInputLayout setError 文本中删除额外的填充/边距

问题描述

我正在使用 TextInputLayout 来显示 EditText 的错误。一切正常。我必须从 TextInputLayout 的错误文本中删除多余的空间。

到目前为止,我已经这样做了,

<android.support.design.widget.TextInputLayout
                android:id="@+id/txt_error_passowrd"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:errorEnabled="true"
                app:passwordToggleEnabled="true"
                app:passwordToggleTint="@color/colorAccent"
                app:errorTextAppearance="@style/error_appearance"
                app:hintTextAppearance="@style/EditHintText">

                <android.support.design.widget.TextInputEditText
                    android:id="@+id/edit_password"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/views_height"
                    android:fontFamily="@font/roboto_light"
                    android:hint="@string/password"
                    android:inputType="textPassword"
                    android:paddingLeft="10dp"
                    android:textColorHint="@color/light_text_color"
                    android:textSize="@dimen/font_14sp" />

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

在 style.xml 里面我用过这个

 <style name="EditHintText" parent="TextAppearance.Design.Hint">
    <item name="android:textSize">@dimen/font_10sp</item>
    <item name="android:textColor">@color/dark_text_color</item>
</style>

<style name="error_appearance" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/red</item>
    <item name="android:textSize">@dimen/font_10sp</item>
</style>

我已附上截屏。请帮忙

标签: androidandroid-textinputlayout

解决方案


您可以通过app:hintEnabled="false"在 TextInputLayout 中使用来删除额外的填充。但是使用它会阻止提示超出,因为当提示文本超出时,额外的空间是用于提示文本的。


推荐阅读