恐怕如果不对自己的版本的GestureOverlayView进行大量修改就无法实现.这是您需要更改的部分.

考虑此工作需要什么:

>您将需要可迭代的(或实际上是某种类型的列表)过去的颜色设置-或在Android中需要一堆过去的Paints.

>手势需要以可分离的方式存储.在GestureOverlayView内部,这些文件是使用Android的Path存储的,因此,这些文件必须是可分离的-给定path的api,唯一的方法是将不同的路径实例分别覆盖.

>最后,必须在路径上进行排序,以便可以在颜色和路径之间建立关联.

上面的内容很粗略,使您可以迭代到最新的路径和颜色,并将View的draw(Canvas canvas)方法的实例用于thisViewsCanvas.drawPath(mLatestAddedPaths.next(),mLatestPaintColor.next())foreach路径和油漆.

*最后,有一点优化将是在创建视图时创建每种可用的绘画颜色,并将其针对其颜色进行哈希处理,以节省绘画创建的时间.然后,您的mLatestPaintColor列表将包含油漆的哈希值.

要查看如果查看source,缺少什么,很明显GestureOverlayView正在提供此功能:

>查看您在问题中引用的setGesutreColor(color).所有这些操作都设置了一个字段mCertainGestureColor,该字段随后用于设置所有绘制的颜色.

>明智地,当您调用setGesture(Gesture手势)(即您每次进行手势)时,此类的开发人员将在此特定版本的第286行提取路径:

最终路径path = mCurrentGesture.toPath();

然后,它们没有存储曾经提取的每个路径,而是将新路径(“ path”)与当前存在的主路径(“ mPath”)组合在一起,位于第292行:

mPath.addPath(path, -bounds.left + (getWidth() - bounds.width()) / 2.0f, -bounds.top + (getHeight() - bounds.height()) / 2.0f);

这意味着当涉及到draw(Canvas)时,我们不知道哪个路径以哪个顺序出现.

3.这最终使我了解为什么3不起作用-394行上的draw方法可用的信息仅足以将相同颜色绘制为每个路径:

canvas.drawPath(mPath, mGesturePaint);

因此,完全有可能自己重新实现该类以实现您的目标,但是用当前类尝试实现您想要的目标几乎是不可能的.

java 笔触类_Java-多种颜色/笔触手势,并在同一GestureOverl...相关推荐

  1. java 导出excel带多种颜色

    导出多种颜色主要有两个细节要注意 否则就只会输出最后一种颜色 第一点: HSSFCellStyle style = wb.createCellStyle(); 这个对象要创建在循环体里面 每一次都获得 ...

  2. java math 类_Java Math类静态长轮(double d)示例

    java math 类 数学课静态长回合(双D) (Math Class static long round(double d) ) This method is available in java. ...

  3. java 大数类_Java大数类介绍

    java能处理大数的类有两个高精度大整数BigInteger和高精度浮点数BigDecimal,这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.B ...

  4. java system类_Java System类mapLibraryName()方法及示例

    java system类 系统类mapLibraryName()方法 (System class mapLibraryName() method) mapLibraryName() method is ...

  5. java range类_Java即时类| range()方法与示例

    java range类 即时类range()方法 (Instant Class range() method) range() method is available in java.time pac ...

  6. java math 类_Java Math类静态双层(double d)示例

    java math 类 数学班静态双层(双D) (Math Class static double floor(double d)) This method is available in java. ...

  7. java字典类_Java字典类

    java字典类 Java Dictionary is an abstract class. It was the parent class for any key-value mapping obje ...

  8. java匿名类_Java匿名类

    java匿名类 Java anonymous class are like local class or inner class without a name. We can use java ano ...

  9. java 系统 类_Java常用实体类--System类

    字符串.日期.数字是Java程序中最常使用的数据对象,对这些数据的创建.修改.格式化和转换等操作融入在Java程序的每个角落,必须熟练掌握.本节将通过实例演示以下常用实体类Java系统级类:系统类Sy ...

最新文章

  1. UVa11107 - Life Forms(后缀数组)
  2. PHP中常见的五种设计模式
  3. 【渝粤题库】陕西师范大学191203 法理学导论 作业
  4. 生成网站缩略图代码(C#)
  5. LINUX SHELL中使用sed匹配某一行并替换这一行的内容
  6. Linux命令之chmod命令
  7. 李宏毅机器学习笔记第5周_逻辑回归
  8. pyhton爬取广州链家租房信息,并用tableau进行数据分析
  9. 关于打印机共享和连接问题
  10. 笔记本开热点手机一直显示正在获取ip
  11. 机器学习笔记week1——奥卡姆剃刀原则、L1与L2范数正则化、模型泛化性
  12. 开源项目zheng学习
  13. 游戏里的角色都什么格式图片_格斗游戏拳皇里的八神庵,为什么在玩家心中人气一直都很高...
  14. 笔记本装双系统!win10+Linux!所有的坑自己一个个爬过来,纪念一下。
  15. 我的前端故事----疯狂倒计时(requestAnimationFrame)
  16. Navcat无法连接mysql报错1449
  17. 计算机cpu的工作电压,cpu工作电压一般多少是正常的?怎么查看和调整cpu电压?...
  18. ANDROID 实现微信通讯录界面
  19. 【Excle数据透视表】如何快速选定数据透视表的汇总行并添加绿色底纹
  20. [USACO Nov08]玩具toys解题报告

热门文章

  1. VS2008向工具箱中添加控件解决 未能实例化 设计时授权
  2. grads右侧的色标图注画的命令
  3. 'gbk' codec can't encode character '\u301c' in position 12: illegal multibyte sequence问题解决
  4. 你以为的匿名评价,原来并没真的匿名
  5. 关于软件定时器的一些讨论
  6. kettle-新建资源库connect资源库灰色解决
  7. rancher发布应用_Rancher 上线应用商店的基本流程
  8. 路由器老掉线的原因之一
  9. 关于养老保险你不得不了解的事儿
  10. CSS课堂案例8-小米布局