当前位置:
首页
文章
移动端
详情

Android EditText更改软键盘enter键

单独设置 imeOptions 不生效,需加上行数限制与输入类型,原因不知

android:maxLines="1"
android:inputType="text"
android:imeOptions="actionSearch"

设置多行

分享一:android EditText 单行显示并且设置imeOptions很简单,条件是在xml中将singleLine设置为true, 将inputType设置为text,多行显示默认是不能设置,默认是回车键,在网上查了好久,发现一个解决方法,记录一下: 此分享来至 alian_girl

XML
android:inputType=”text|textCapSentences”
JAVA
editText.setHorizontallyScrolling(false); 
editText.setMaxLines(Integer.MAX_VALUE);

分享二:解决EditText 键盘imeOptions 设置后与换行冲突问题
EditText imeOptions 设置必然需要设置singleLines=true 或者设置 inputType="textXXX", 这就不太符合需求。 解决办法:此分享来至嘉伦哥
继承 EditText

public InputConnection onCreateInputConnection(EditorInfo outAttrs) {

       InputConnection connection = super.onCreateInputConnection(outAttrs);
       if (connection == null) return null;
       outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION;
       return connection;

   }

关于imeOptions所有类型含义,来至y_2dbc的分享

1、Enter键图标的设置

软键盘的Enter键默认显示的是“完成”文本,我们知道按Enter建表示前置工作已经准备完毕了,要去什么什么啦。比如,在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好。事实证明我们的想法是合理的,Android也为我们提供的这样的功能。通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:

(1)actionUnspecified未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED效果:
(2)actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE效果:
(3)actionGo去往,对应常量EditorInfo.IME_ACTION_GO 效果:
(4)actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH效果:
(5)actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND效果:
(6)actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT效果:
(7)actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE效果:

2、使用android:imeOptinos可对Android自带的软键盘进行一些界面上的设置:

android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用一部分屏幕 同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键 android:imeOptions="actionNone" //输入框右侧不带任何提示 android:imeOptions="actionGo" //右下角按键内容为'开始' android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索 android:imeOptions="actionSend" //右下角按键内容为'发送' android:imeOptions="actionNext" //右下角按键内容为'下一步' android:imeOptions="actionDone" //右下角按键内容为'完成'

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。