如何实现Android4.1语音输入的纠错和一键删除效果
2012-08-24 16:11
615 查看
这几天刚还在研究这个东东,简单写几句。
主要使用两个Span即可实现:SuggestionSpan 和 EasyEditSpan
部分实现代码如下,
1.关于SuggestionSpan的
2.关于EasyEditSpan的
注意:所有需要发送到输入框的Span必须实现了ParcelableSpan,没有实现这个接口的Span之能用于TextView中。
主要使用两个Span即可实现:SuggestionSpan 和 EasyEditSpan
部分实现代码如下,
1.关于SuggestionSpan的
//不能共用Span,否则只有最后一个生效/////////非常重要 SuggestionSpan ss1 = new SuggestionSpan(this, new String[]{"123", "456", "789"},SuggestionSpan.FLAG_AUTO_CORRECTION); ss1.setFlags(SuggestionSpan.FLAG_AUTO_CORRECTION);//蓝色 /////////// SuggestionSpan ss2 = new SuggestionSpan(this, new String[]{"hello", "hi", "bye"},SuggestionSpan.FLAG_AUTO_CORRECTION); ss2.setFlags(SuggestionSpan.FLAG_EASY_CORRECT);//灰色 SuggestionSpan ss3 = new SuggestionSpan(this, new String[]{"你好", "再见", "谢谢"},SuggestionSpan.FLAG_AUTO_CORRECTION); ss3.setFlags(SuggestionSpan.FLAG_MISSPELLED);//无色 SpannableString str = new SpannableString("我们是一家人 对不对 是不是"); str.setSpan(ss1, 0, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_COMPOSING);//只有最后一个生效 str.setSpan(ss2, 7, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_COMPOSING); str.setSpan(ss3, 11, 14, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_COMPOSING); ic.commitText(str, 1);
2.关于EasyEditSpan的
SpannableString spanText = new SpannableString("我们是一家人"); spanText.setSpan(new EasyEditSpan(), 0, spanText.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE); ic.commitText(spanText, 1);
注意:所有需要发送到输入框的Span必须实现了ParcelableSpan,没有实现这个接口的Span之能用于TextView中。
相关文章推荐
- 自定义EditText实现可以一键删除输入的内容
- 如何在SQL Server 2005中建立主外键关系?如何实现级联删除效果?
- 如何实现身份证输入框的输入效果
- android 中如何实现listview向左边滑动跟微信删除好友一样的效果?
- 如何实现在命令行输入pwd时显示出ifconfig的效果
- android 中如何实现listview向左边滑动跟微信删除好友一样的效果?
- android 中如何实现listview向左边滑动跟微信删除好友一样的效果?
- 如何利用GridView与UpdatePanel组合实现无刷新:新增、编辑、删除、分页效果?
- 如何在SQL Server 2005中建立主外键关系?如何实现级联删除效果?
- 如何在SQL Server 2005中建立主外键关系?如何实现级联删除效果?
- DataGridView如何实现自动定位效果,比如我输入个数字N就能马上定位到第N行,而且滚动条也会跟着滚动!
- 如何利用容器实现生产级别的redis sharding集群的一键交付
- 如何在zencart里实现多标签标签云效果
- 如何实现在DataGird控件使用CheckBox批量删除
- [FAQ14169][Audio APP]Music、FM等apk在播放或运行时,从recent app list中删除后,如何实现music、FM等apk立即停止?
- 如何实现UltraGrid中的图片按钮效果
- Web_PHP_DedeCMS_如何配合php标签实现分页效果?!
- django如何实现文件的上传,修改,删除,展示(03)
- Android 仿微信“正在输入...”效果快速实现
- 详解RecyclerView+BGARefreshLayout实现自定义下拉刷新、上拉加载和侧滑删除效果