java – Android EditText与word-wrap但没有硬回报

java – Android EditText与word-wrap但没有硬回报,第1张

概述如果我在EditText小部件上设置SingleLine = true,我得到一个单行编辑控件,不允许用户插入硬返回(单击Enter移动到下一个字段,而不是插入新行).如果我没有设置SingleLine = true,用户可以插入硬返回. 如果我设置layout_height =“wrap_content”,EditText控件将垂直增长以显示所有文本.但是,只有在SingleLine未设置为tr 如果我在EditText小部件上设置Singleline = true,我得到一个单行编辑控件,不允许用户插入硬返回(单击Enter移动到下一个字段,而不是插入新行).如果我没有设置Singleline = true,用户可以插入硬返回.

如果我设置layout_height =“wrap_content”,EditText控件将垂直增长以显示所有文本.但是,只有在Singleline未设置为true时才执行此 *** 作.

所以,我的问题是,是否可以获得单词换行和垂直调整大小,而不允许用户进入硬休息?我想我可以陷入进入的按键,但是我也必须抓住其他方式,他们可能会得到一个(复制/粘贴,不知道还有什么).有没有一个简单的方式来做到这一点只是正确的属性组合?

我喜欢用户可以看到所有文本的单词,与单行编辑控件的水平滚动相比,但我并不希望他们认为可以输入多行文本(而且我不想必须支持它).我想我可以将硬拷贝转换为空格,当我将数据保存到我的数据库,如果我必须(旧版应用程序我同步在PC上的数据不能处理硬回报).

解决方法 我也是在寻找一些东西来做到这一点.我找到的唯一解决方案是扩展EditText如下:
package com.kylemilligan.test;import androID.content.Context;import androID.util.AttributeSet;import androID.vIEw.inputmethod.EditorInfo;import androID.vIEw.inputmethod.inputConnection;import androID.Widget.EditText;public class NoNewlineEditText extends EditText{    public NoNewlineEditText(Context context) {        super(context);    }    public NoNewlineEditText(Context context,AttributeSet attributeSet) {        super(context,attributeSet);    }        @OverrIDe    public inputConnection onCreateinputConnection(EditorInfo outAttrs)    {        inputConnection connection = super.onCreateinputConnection(outAttrs);        int imeActions = outAttrs.imeOptions & EditorInfo.IME_MASK_ACTION;        if ((imeActions & EditorInfo.IME_ACTION_DONE) != 0)        {            // clear the existing action            outAttrs.imeOptions ^= imeActions;            // set the DONE action            outAttrs.imeOptions |= EditorInfo.IME_ACTION_DONE;        }        if ((outAttrs.imeOptions & EditorInfo.IME_FLAG_NO_ENTER_ACTION) != 0)        {            outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION;        }        return connection;    }}

然后在XML中使用如下:

<com.kylemilligan.test.NoNewlineEditText            androID:ID="@+ID/noNewlineText"            androID:layout_wIDth="match_parent"            androID:layout_height="wrap_content"            androID:gravity="top|left"            androID:imeOptions="actionDone"            androID:minlines="5" />

希望这可以帮助!

总结

以上是内存溢出为你收集整理的java – Android EditText与word-wrap但没有硬回报全部内容,希望文章能够帮你解决java – Android EditText与word-wrap但没有硬回报所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1148532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存