我想显示的文字(比较大的),并确定用户触摸的字符。 我也想通过绘制在某些字符的圆圈(例如)美化的文字。 我怎么知道哪些字符是在什么位置? 强制等宽字体将被罚款,如果有帮助的编程。
难道还能够使文字滚动的这一行左/右(使用触摸>幻灯片),仍然有接触的工作,以确定正确的字符?
我想显示的文字(比较大的),并确定用户触摸的字符。 我也想通过绘制在某些字符的圆圈(例如)美化的文字。 我怎么知道哪些字符是在什么位置? 强制等宽字体将被罚款,如果有帮助的编程。
难道还能够使文字滚动的这一行左/右(使用触摸>幻灯片),仍然有接触的工作,以确定正确的字符?
一个很广泛的问题,你有很多工作要做,但这里的一个可能的解决方案概要:
创建自定义视图。 ImageView的往往是一个很好的基类继承。
重写视图的的onDraw()方法。
使用canvas.drawText()把你的屏幕上的文字。
使用paint.getTextBounds到meausure文本。 见下面链接的透彻理解的讨论。 既然你画在屏幕上的文字,你测量,你确切地知道每个字符。
覆盖在你的自定义视图中onTouch()方法跟踪你所需要的事件。 在这里所以有很多的问题答案如何做到这一点。
对于滚动文本,使用canvas.translate()使用在onTouch您计算运动()。 既然你知道你滚动多少(翻译),你知道多远,你的角色已经转移,并能弥补你的触摸检测来检测字符触摸。
最后,因为你现在控制所有的绘图和您的字符位置是抽象的,相比于触摸位置时,只有具有意义,你可以以任何方式选择美化他们。
Android的油漆:.measureText()VS .getTextBounds()
唷!
祝好运。