使用EditText遇到的问题及解决方案

S:

在开发中,产品给的要求是,在填写地址的输入框内只能有两行内容,输入框在横屏的Dialog上,软键盘半屏显示且点击软键盘的右下角按钮实现actionDone功能。

T:

上面的场景可能有点复杂,先一个个问题来解决。

  • dialog横屏下,软键盘半屏显示。
  • 软键盘右下角按钮为完成,即点击关闭软键盘,而不是换行。
  • 只显示两行内容。

A:

  1. dialog横屏下,软键盘半屏显示。
    imeOptions="flagNoExtractUi"
    设置前
使用EditText遇到的问题及解决方案_第1张图片
设置前

设置后

使用EditText遇到的问题及解决方案_第2张图片
设置后
  1. 软键盘右下角按钮为完成,即点击关闭软键盘,而不是换行。
    imeOptions="actionDone|flagNoExtractUi"
    inputType="text"
  2. 只显示两行内容。
    xml中
android:inputType=”text|textCapSentences”

java中

mEditText.setHorizontallyScrolling(false);
mEditText.setMaxLines(2);

R:

三个步骤实现不同的功能需求。
另外在SDK 23及以后,singleLine过时,以下代码能实现其相同功能。

android:maxLines=“1”
android:inputType="text"

如有不理解或是写的不对的地方,欢迎留言指出。
如果能帮你解决困难,是我的荣幸!同时也作备忘。

感谢!

你可能感兴趣的:(使用EditText遇到的问题及解决方案)