在 TextInputEditText 上设置 android:lines 无效
Setting android:lines on TextInputEditText not working
有人知道在使用 TextInputEditText
和 TextInputLayout
时如何显示总行数吗?使用没有 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>
有人知道在使用 TextInputEditText
和 TextInputLayout
时如何显示总行数吗?使用没有 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>