做了个CAD软件,在手动画直线的时候出现这种情况,求一个好的解决方法。

解决方案 »

  1.   

    windows下面是设置XOR模式在原来的地方再画一次就清除了,但是android在原来的地方以XOR模式重绘一次,会导致这个线压到的线被切断。
    坐等高手
      

  2.   

    把每一个直线当成一个view添加到父view
    ,删除的时候,删除子view就行。不过会增大内存消耗
      

  3.   


    这个问题就是由于要动态高效的删除部分图形引起的,全部重绘肯定不行的!那样当图形复杂时效率极低,而且还会出现闪屏。
    我查看了资料,MFC和QT都是采用异或的方法在原来的地方再画一次就可以删除了,但是android上会出现被原来的线压到的线被切断。
      

  4.   

    实在不行只能,在每次绘图的时候将先前的图保存成一个bitmap,然后当手指移动的时候,先绘制先前的bitmap,然后再在bitmap上绘制手指移动时候的直线,这样相对好一点,不过做undo 和redo功能的时候也蛋疼,程序的架构不好弄。总感觉应该有更合理的方法。
      

  5.   


    你在一个bitmap上绘制,利用双缓冲,显示的时候只显示bitmap到界面就ok,绝对没有闪烁问题