Goileo Lee

welcome to goileo's site

深沉的意志,恢宏的想象和炽热的情感


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

####S:

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

####T:

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

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

####A:

  1. dialog横屏下,软键盘半屏显示。 imeOptions=”flagNoExtractUi” 设置前

设置前

设置后

设置后

  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"

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

感谢!

goileolee@foxmail.com