特朗普女儿身材太好 旁边的人看呆了,风云皇后,色小组邪恶漫画
本文实例讲述了android仿英语流利说取词放大控件的实现方法。分享给大家供大家参考,具体如下:
1 取词放大控件
英语流利说是一款非常帮的口语学习app,在app的修炼页面长按屏幕,会弹出一个放大镜,当手指移到某个单词的附近,可以看到该英文单词会被选中,效果如下图所示:
2 代码示例
该控件挺有意思,于是我写了个简单的demo,完整实例代码点击此处。,程序运行后的效果如下:
3 实现原理
该控件的实现原理比较简单,下面介绍几个比较重要的类
① wordview
在实习该控件的过程中,我发现看似普通的textview,其功能异常的强大,textview的源码值得研究。wordview的主要功能是根据touch的位置,选择其附近的单词,然后更改选中单词的颜色,关键代码如下:
public void tryselectword(motionevent event) { layout layout = getlayout(); if (layout == null) { return; } int line = layout.getlineforvertical(getscrolly() + (int) event.gety()); final int index = layout.getoffsetforhorizontal(line, (int) event.getx()); word selectedword = getword(index); if (selectedword != null) { mspannablestring.setspan(mforegroundcolorspan, selectedword.getstart(), selectedword.getend(), spanned.span_exclusive_exclusive); settext(mspannablestring); mselectedword = gettext().subsequence(selectedword.getstart(), selectedword.getend()).tostring(); monwordselectlistener.onwordselect(); } }
② exercisepanel
该控件主要用来显示放大镜,原理比较简单,就不介绍了。
更多关于android相关内容感兴趣的读者可查看本站专题:《android资源操作技巧汇总》《android开发入门与进阶教程》、《android控件用法总结》、《android短信与电话操作技巧汇总》及《android多媒体操作技巧汇总(音频,视频,录音等)》
希望本文所述对大家android程序设计有所帮助。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android apk 项目一键打包并上传到蒲公英的实现方法
Android 自定义LineLayout实现满屏任意拖动功能的示例代码
android 限制某个操作每天只能操作指定的次数(示例代码详解)
Android 集成 google 登录并获取性别等隐私信息的实现代码
网友评论