我有这个EditText
<EditText
android:layout_width="match_parent"
android:layout_height="72dp"
android:hint="@string/write_message"
android:textColorHint="@color/primary_color"
android:ems="10"
android:imeOptions="actionDone"
android:inputType="textImeMultiLine"
android:id="@+id/message_input"
android:layout_gravity="center_horizontal"
android:backgroundTint="@color/primary_color"/>
当框被用户输入的文本填满时,它会向右滚动,以便为更多的文本腾出空间,我不喜欢这种行为,如果EditText框需要更多空间时向上扩展,我会更喜欢它?有没有办法做到这一点?谢谢。
发布于 2014-12-30 02:50:00
是的,这实际上涉及到两件事:
EditText
接受多行输入。随着文本行的增加,因此,要实现这一点,您需要设置:
android:inputType="textMultiLine"
android:layout_height="wrap_content"
(注意difference between textMultiLine
and textImeMultiLine
)。
完整的XML片段如下:
<EditText
android:layout_width="match_parent"
android:inputType="textMultiLine"
android:layout_height="wrap_content"
android:hint="@string/write_message"
android:textColorHint="@color/primary_color"
android:ems="10"
android:imeOptions="actionDone"
android:id="@+id/message_input"
android:layout_gravity="center_horizontal"
android:backgroundTint="@color/primary_color"/>
发布于 2020-10-19 07:20:17
使用这两个标志:textMultiLine
将对您的输入进行换行,而textImeMultiLine
将在您的键盘上提供一个换行键。
<EditText
...
android:layout_height="wrap_content"
android:inputType="textImeMultiLine|textMultiLine"
... />
发布于 2020-11-25 14:55:36
在我的例子中,我有多行文本,但它显示了一行和一个键盘:
虽然我已经设置了android:inputType="textCapSentences|textAutoCorrect|textMultiLine"
,但它没有帮助。然后我明白了,当键盘出现在DialogFragment
中时,它会折叠EditText
。当DialogFragment
显示时,请参阅DialogFragment and force to show keyboard以显示键盘。
然后,我在显示键盘之前添加了一小段延迟(100-300毫秒)。现在我有了:
在AndroidManifest
中,我为当前活动设置了android:windowSoftInputMode="adjustResize"
。
https://stackoverflow.com/questions/27698139
复制