想做个demo,功能如下
1、通过点击界面上的任意位置可以实现文字输入,处在编辑状态下,要显示文字区域的边框。
2、如果点击已有文字,则可以进行编辑,如果文字有重叠,则编辑最上层的文字
3、可以实现文字的拖动。
最好不要使用任何android的UI控件。。。。。。只用Canvas.drawText()来实现
感觉问题一堆堆,怎么能点击时弹出一个类似EditText的文本框
怎么对已有的文字编辑,拖动
如何保存这些文字对象
额啊,求助啊!!!
------解决方案--------------------
这个确实挺麻烦的,我的思路是自定义了一个TextDrawable用来表示一个可编辑文字。
所有的TextDrawable放到List里面,遍历的时候从最后插入的开始遍历。
点击编辑的话,通过点击事件,获取x, y坐标,遍历当前所有的TextDrawable,看x, y有没有hit哪个TextDrawable的bound。
拖动也是一样的道理。
保存的时候把每个TextDrawable的bound和Text存储一下就可以了。
绘制的时候把所有的TextDrawable都绘制一下就行了。
如果你想只用Canvas.drawText实现的话,就自己定义一个结构用来存储bound和Text,也是可以实现的。
具体实现的时候挺麻烦的,慢慢做吧。