gpt4 book ai didi

Android 动态文字绘制/触摸检测

转载 作者:行者123 更新时间:2023-11-30 04:00:40 24 4
gpt4 key购买 nike

我想显示文本(相对较大)并确定用户触摸的是哪个字符。我还想通过在某些字符上画一个圆圈(例如)来美化文本。我怎么知道哪些字符在什么位置?如果在编程方面有帮助,则强制使用等宽字体会很好。

它是否也能够使这一行文本向左/向右滚动(使用触摸->滑动)并且仍然有触摸工作来确定正确的字符?

最佳答案

这是一个非常宽泛的问题,您还有很多工作要做,但这里是一个可能的解决方案的概要:

  • 创建自定义 View 。 ImageView 通常是一个很好的基类 继承。

    重写 View 的 onDraw() 方法。

    使用 canvas.drawText() 将文本放置在屏幕上。

    使用 paint.getTextBounds 测量文本。查看讨论 链接如下以获得透彻的理解。既然你画了文字 在屏幕上,你测量了它,你就知道每个 性格是。

    在自定义 View 中覆盖 onTouch() 方法并跟踪 你需要的 Activity 。 SO 中有许多关于如何执行此操作的 QA。

    要滚动文本,请使用 canvas.translate() 使用移动 你在 onTouch() 中计算。既然你知道你有多 滚动(翻译),你知道你的角色移动了多远 并且可以抵消您的触摸检测以检测字符触摸。

    最后,既然你现在控制了所有的绘图,你的 字符位置是抽象的,只有在比较时才有意义 到一个触摸位置,你可以选择任何方式来修饰它们。

Android Paint: .measureText() vs .getTextBounds()

呸!

祝你好运。

关于Android 动态文字绘制/触摸检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12549647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com