在 TextInputEditText 上设置 android:lines 无效

Setting android:lines on TextInputEditText not working

有人知道在使用 TextInputEditTextTextInputLayout 时如何显示总行数吗?使用没有 TextInputLayout 的普通 EditText 时,我没有这个问题。这是我的示例代码:

<android.support.design.widget.TextInputLayout
                android:id="@+id/input_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/spacing_small"
                app:counterEnabled="true"
                app:counterMaxLength="1000"
                app:counterOverflowTextAppearance="@style/TextLimitError"
                app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
                app:theme="@style/TextInputLayoutStyle">

                <android.support.design.widget.TextInputEditText
                    android:id="@+id/input"
                    style="@style/TextInputEditTextStyle"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="hint text"
                    android:inputType="textMultiLine"
                    android:lines="5"
                    android:maxLength="1000"/>
</android.support.design.widget.TextInputLayout>

我的目标是在设置 rows 属性时获得与 html textarea 相同的效果。

这是我在 TextInputEditText 上设置 android:lines 时得到的结果。它在浮动标签和我输入的第一个字母之间留下一个空白 space。

试试下面的 android:gravity="top|left" 可能会有帮助

<android.support.design.widget.TextInputLayout
          android:id="@+id/input_layout"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_marginTop="@dimen/spacing_small"
          app:counterEnabled="true"
          app:counterMaxLength="1000"
          app:counterOverflowTextAppearance="@style/TextLimitError"
          app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
          app:theme="@style/TextInputLayoutStyle">

                        <EditText
                            android:id="@+id/input"
                            style="@style/TextInputEditTextStyle"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:gravity="top|left"
                            android:hint="hint text"
                            android:inputType="textMultiLine"
                            android:lines="3"
                            android:maxLines="5"
                            android:minLines="3"
                            android:maxLength="1000"
                            android:singleLine="false"
                            android:scrollbars="vertical"/>
 </android.support.design.widget.TextInputLayout>

设置android:gravity="top|left"有效,如下:

 <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.design.widget.TextInputEditText
                android:id="@+id/notesValue"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="left|top"
                android:hint="@string/mlNote"
                android:inputType="textCapSentences|textMultiLine"
                android:lines="3" />
        </android.support.design.widget.TextInputLayout>