Android:从软键盘中删除 Enter 键
Posted
技术标签:
【中文标题】Android:从软键盘中删除 Enter 键【英文标题】:Android: Remove Enter Key from softkeyboard 【发布时间】:2011-10-22 21:47:23 【问题描述】:在我的登录表单中,当用户单击 EditText 并按下回车键时,这会插入一个新行,因此会增加 EditText 的大小。下一刻,它返回到之前的位置并在密码字段(即下一个字段)中打印一个点。
我想从软键盘中删除这个回车键。有可能吗?
【问题讨论】:
我认为最简单的方法是 android:inputType="textPersonName" 它将停止输入 textView..android:inputType="textNoSuggestions"
从软键盘中删除返回键。
【参考方案1】:
将此标签添加到xml中的textView
android:singleLine = "true"
【讨论】:
android:maxLines = "1" & android:lines = "1" 并没有真正起作用.. 但是 android:singleLine = "true" 起作用了.. Developer.Android 并没有说 android:singleLine 已弃用!!【参考方案2】:恐怕你不能这样做。但有一件事是你可以像这样处理软键盘按键事件,
edittext.setOnKeyListener(new OnKeyListener()
public boolean onKey(View v, int keyCode, KeyEvent event)
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
Log.i("event", "captured");
return false;
else if(event.getAction() == KeyEvent.ACTION_DOWN
&& event.getKeyCode() == KeyEvent.KEYCODE_BACK)
Log.i("Back event Trigered","Back event");
return false;
);
除此之外,您必须注意,提供android:singleLine=true
属性将使您的edittext 在按下软键盘ENTER 时变大
【讨论】:
"android:singleLine=true" 救了我 :D 试试那个。并感谢@Andro 的回答。【参考方案3】:使用:
android:singleLine = "true"
要么
edittext.setSingleLine();
你的 ENTER 键不见了
【讨论】:
【参考方案4】:在标签EditText
内你只需要这样做:
android:singleLine="true"
删除键盘上的回车键
更新
因为android:singleLine="true"
已弃用我使用android:maxLines="1"
来避免输入EditText
。方法名称如何表示只允许 N 行。
【讨论】:
现在已弃用【参考方案5】:新的更新:
android:maxLines="1"
【讨论】:
【参考方案6】:如果你想要在你的 .java 中更通用的东西:
boolean state = true;
yourTextInputEditText.setSingleLine(state);
【讨论】:
以上是关于Android:从软键盘中删除 Enter 键的主要内容,如果未能解决你的问题,请参考以下文章