如何更改TextInputLayout错误容器高度?

时间:2017-06-12 09:23:53

标签: android

TextInputLayout错误容器具有较大的高度。我想降低它的高度。我怎样才能做到这一点? change this height

 <android.support.design.widget.TextInputLayout
        android:id="@+id/textInput"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/md_red_100"
        android:layout_centerInParent="true"
        app:errorEnabled="true"
        android:padding="0dp"
        app:hintEnabled="false">

        <EditText
            android:id="@+id/edittext"
            style="@style/purpleNormalEdit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text"
            android:maxLines="1"
            android:paddingBottom="10dp"
            android:paddingRight="50dp"/>
    </android.support.design.widget.TextInputLayout>

感谢

2 个答案:

答案 0 :(得分:2)

我讨厌黑客攻击,但我没有找到一种实体方式来更改TextInputLayout内的错误文本高度。因此,我提出了一个软弱的解决方案:

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


        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="-10dp"
            app:errorEnabled="true">

            <com.panera.bread.common.views.PaneraEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="Generic Hint"
                android:inputType="text"
                android:maxLines="1" />

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

我通过将TextInputLayout拍到高度固定的LinearLayout来获得所需的身高TextInputLayout。我的if($model->login()){ return [ "access_token' => Yii::$app->user->identity->getAuthKey(), ]; } 包含了它的高度内容,并通过设置负底边距来掩盖错误的重叠。

答案 1 :(得分:1)

如果您担心在为视图设置错误时不降低下面的视图,请尝试添加

app:helperText=" "

对于您的 TextInputLayout,由于错误占用相同的辅助文本空间,因此您不会有任何奇怪的高度问题。