我目前正在开发一个应用程序,该应用程序将教用户如何编写汉字,韩文,阿拉伯文等外来字符(字符跟踪/字母跟踪)。我通过Adobe Illustrator制作了字符并将其导入为XML Android中的文件。然后,SVG将用作跟踪笔划和检测用户手势的指南,用户应跟随笔划,然后在正确完成操作后将其填充,否则应显示笔划用户应首先跟踪的笔划。
请参见下面的示例图片: 下面的红线是我的手势,而绿线表示在继续其他笔画之前跟踪角色的正确方法。
这里有没有人有过处理此类项目的经验?是否可以使用原生Android手势检测来做到这一点?预先感谢
免责声明:以下屏幕截图来自Chase Colburn开发的应用Japanese Kanji Study
答案 0 :(得分:3)
如果我是您,则可能不会使用SVG <path>
元素。我将使用点的序列(数组)(即,相当于SVG <polyline>
)。这些点应足够靠近,以便在绘制时看起来像一条平滑的线。也可以在渲染它们时应用一些平滑处理。
points数组的优点是,比在任意<path>
上找到最近的点要容易得多。而且,当您用手指“描画”时,您只需在所有点上画一条线,直到最接近您的触摸位置的那一点即可。
对于大多数字符来说,显然您实际上将拥有两个或更多个点数组。但是您只需要按顺序处理每个数组即可。
答案 1 :(得分:1)
实际上,只需看看 html 并获得一些想法。在 html 中,您可以在图像地图内提供坐标区域并使其可单击。 link之后的内容详细说明了我想说的话。
因此,给定区域后,您可以像1个区域2个区域... n个区域那样进行订购。之后,您将需要第一个可点击的区域,只需提供一个标志,如果flag = true,则在触摸它时更改背景颜色。当第一个区域被触摸时,您将以下区域标记设为true。所有决定权都在你手里。解决方案之一。但主要是在xml中,您可以使用坐标创建 MappedImage