Android Ice Cream Sandwich Edittext:禁用拼写检查和自动换行
在运行 Android 4.0(冰淇淋三明治)的 Android 模拟器上进行测试时,我注意到 Edittext 做了一些非常奇怪的事情。
首先,它用红色强调了每个被识别为“拼写错误”的单词。我如何禁用此功能? 其次,虽然在布局 XML 中我已指定启用了 android:scrollHorizontally="true"
自动换行:如何禁用此功能?以下是 Edittext 的布局 XML 代码:
<EditText
android:id="@+id/editor"
android:layout_width="40dp"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_below="@+id/toolbar"
android:layout_toRightOf="@+id/toolbarleft"
android:paddingBottom="0dp"
android:paddingRight="0dp"
android:scrollHorizontally="true"
android:text=""
android:inputType="textMultiLine" >
<requestFocus />
</Edittext>
这是我需要禁用的拼写检查器的示例:
< img src="https://i.sstatic.net/mMyHk.jpg" alt="拼写检查器演示">
(来源:abstract-thoughts.com< /a>)
非常感谢!
Whilst testing on the Android Emulator running Android 4.0 (Ice Cream Sandwich), I have noticed that the Edittext does some quite strange things.
Firstly, it underlines every word identified as "misspelt" in red. How do I disable this?
Secondly, although in the layout XML I have specified android:scrollHorizontally="true"
word-wrap is enabled: how do I disable this as well? Here is the Layout XML code for the Edittext:
<EditText
android:id="@+id/editor"
android:layout_width="40dp"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_below="@+id/toolbar"
android:layout_toRightOf="@+id/toolbarleft"
android:paddingBottom="0dp"
android:paddingRight="0dp"
android:scrollHorizontally="true"
android:text=""
android:inputType="textMultiLine" >
<requestFocus />
</Edittext>
Here is an example of the spell checker I need to disable:
(source: abstract-thoughts.com)
Thanks very much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
禁用拼写检查
为了摆脱拼写检查,您必须在 XML 中指定 EditText 的输入类型,如下所示:
android:inputType="textNoSuggestions"
但是,我的 EditText 还需要是多行的,所以我添加了EditText 的 XML 中添加以下行:
android:inputType="textMultiLine|textNoSuggestions"
禁用自动换行
如前所述,XML 属性
android:scrollHorizontally="true"
不起作用。然而,奇怪的是,如果通过 Java 完成它却可以工作。以下是实现不自动换行的必要代码:mEditText.setHorizontallyScrolling(true);
Disabling Spell-Checking
In order to get rid of spell checking you must specify the EditText's InputType in the XML as the following:
android:inputType="textNoSuggestions"
However, my EditText needed also to be multiline, so I have added the following line to the EditText's XML:
android:inputType="textMultiLine|textNoSuggestions"
Disabling Word-Wrap
As noted, the XML attribute
android:scrollHorizontally="true"
does not work. However, strangely, if it is done through Java it does work. Here is the necessary code to achieve no word wrapping:mEditText.setHorizontallyScrolling(true);
禁用 EditText 中的拼写检查。
在 Android 4.0+ 中,有时我的 Textview 中会出现红色下划线,因此我添加了属性...
以下是我们可以在中定义的可能属性的列表:
android:inputType
禁用自动换行
请记住,属性
android:scrollHorizontally="true"
不起作用,因此这是解决方案:Disabling Spell-Checking in EditText.
In
Android 4.0+
sometimes I get a red underline in my Textview so i add the property ...Here is a list of possible properties that we can define in :
android:inputType
Disabling Word-Wrap
remember that the property
android:scrollHorizontally="true"
doesn't work, so this is the solution:在您的 Java 类中,您可以添加到 Edittext 对象...
这会清除自动更正标志,并将在 API 4 中工作。
In your Java class you can add to the Edittext object...
This clears out the autocorrect flag and will work in API 4.
为我删除了所有红色下划线。
产生编译错误。
我使用 Android API 1.6。
removed all red underlines for me.
produces compilation error.
I use Android API 1.6.
通过代码禁用一般文本输入的拼写检查器:
Disabling the spell checker for general text input via code:
删除
android:inputType=""
一切都应该很好。remove
android:inputType=""
and all should be well.要禁用换行,您必须使用 HorizontalScrollView 换行(不是双关语)您的 EditText 并将您的layout_width设置为match_parent。
To disable line wrapping you have to wrap (pun not intended) your EditText with an HorizontalScrollView and set your layout_width to match_parent.