Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android动态文本绘制/触摸检测_Android_Text_Canvas_Drawing - Fatal编程技术网

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

Android动态文本绘制/触摸检测,android,text,canvas,drawing,Android,Text,Canvas,Drawing,我想显示文本(相对较大)并确定用户触摸哪个字符。我还想通过在某些字符上画一个圆圈(例如)来美化文本。我如何知道哪些字符在什么位置?如果在编程方面有所帮助,强制使用单间距字体就可以了 它是否也能使这一行文本向左/向右滚动(使用触摸->滑动),并且仍然有触摸功能来确定正确的字符 这是一个非常宽泛的问题,您还有很多工作要做,但下面是一个可能解决方案的概要: 创建自定义视图。ImageView通常是一个很好的基类 继承 重写视图的onDraw()方法 使用canvas.drawText()将文本放置在

我想显示文本(相对较大)并确定用户触摸哪个字符。我还想通过在某些字符上画一个圆圈(例如)来美化文本。我如何知道哪些字符在什么位置?如果在编程方面有所帮助,强制使用单间距字体就可以了


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

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

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

    重写视图的onDraw()方法

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

    使用paint.getTextBounds测量文本。见讨论 链接到下面,以便全面了解。因为你画的是文字 在屏幕上,你们测量它,你们确切地知道每个 性格是

    在自定义视图中重写onTouch()方法并跟踪 你需要的活动。这里有很多QA,关于如何做到这一点

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

    最后,由于您现在可以控制所有图形和 字符位置是抽象的,只有在比较时才有意义 对于触摸式位置,您可以选择任何方式对其进行修饰


祝你好运。

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

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

    重写视图的onDraw()方法

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

    使用paint.getTextBounds测量文本。见讨论 链接到下面,以便全面了解。因为你画的是文字 在屏幕上,你们测量它,你们确切地知道每个 性格是

    在自定义视图中重写onTouch()方法并跟踪 你需要的活动。这里有很多QA,关于如何做到这一点

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

    最后,由于您现在可以控制所有图形和 字符位置是抽象的,只有在比较时才有意义 对于触摸式位置,您可以选择任何方式对其进行修饰


祝你好运。

我还没有开始做这件事,但我确实尝试过“调查”可能的选择。您的答案似乎与相应的解决方案一致,因此请将其标记为答案。我认为我唯一的分歧是使用ScrollView而不是自己实现翻译。我希望Touch仍能在滚动视图中提供适当的自定义视图/画布坐标。我计划在这里报告对我有效的方法。我还没有开始,但我尝试过“调查”可能的选择。您的答案似乎与相应的解决方案一致,因此请将其标记为答案。我认为我唯一的分歧是使用ScrollView而不是自己实现翻译。我希望Touch仍能在滚动视图中提供适当的自定义视图/画布坐标。我计划在这里汇报对我有用的东西。