开始:自定义view,输入法连接,写触摸事件,定义List存文本,定义viewX,viewY为画布位置,定义row,col为光标位置。
画:计算显示的部分,从那行开始到那行结束。画布偏移到viewX,viewY位置。按照计算出来的开始行和结束行来读取List的文本,画字(例如开始行为99,则该行在画布中的位置为x=0,y=99*行高,以此类推,直到结束行。实际上还要考虑基线,基线和行高都是应该一开始便要计算好的)。画光标。
触摸事件:触摸在画布的实际位置为getX-viewX,Y同(减还是加看你怎么算的),根据此计算光标位置和滑动画布的位置。
输入法:根据光标来加字,删字,换行。
复制粘贴剪切等略。