java - Android Canvas 没有在 Path 的指向外绘制 Path

标签 java android android-canvas

我在绘制路径时遇到了 Android Canvas 的一些问题。 我的情况是我有一个像 map View 一样的相对布局工作(不使用 google api 或类似的东西)。我必须在该 View 上画一条路径。

    canvas.drawPath(polyPath, borderPaint);

我还必须使用 Canvas 绘制其他类型,如圆形、多边形。 每次我们放大或缩小时,我们都会重新计算路径点以匹配缩放级别。 使用像android 2.3.3 这样的旧api 时,完全没有问题。 但是对于像 android 4.x 这样的较新的 api,当我们放大时,有些点的位置在可见 View 之外(例如 -300,-300)。放大一段时间后,可见区域只显示了我路径的一小部分。然后整条路突然消失了。如果我们缩小,它会再次出现。它就像 Canvas 停止渲染那些(其他对象仍然像图标一样显示) 圆形、椭圆形或多边形也是如此。

所以我不确定 Canvas 的绘制方式是否有任何变化? 关于使用 Canvas 绘图,我是否遗漏了什么?

最佳答案

在 View 的初始化中添加这一行

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

另请参阅本指南了解硬件级别支持的 API

google API

Img A

Img B

关于java - Android Canvas 没有在 Path 的指向外绘制 Path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19650273/

相关文章:

java - Eclipse 内容辅助显示一些 javadoc,但不显示其他 javadoc

android - 找不到符号类 BaseAdapter

java - 保存新图像时,它会保留旧 Canvas

android - 如何使 Canvas 上的圆弧居中 - Jetpack Compose?

java - 刷新 Canvas 会删除以前的数据

java - 在 Java 对话框中嵌入 HTML 链接

java - 如果我知道导入级别路径,如何找到要放入库的 pom.xml 中的 Artifact id

java - Telegram Bot 检查该机器人是否在群组中被提及

java - 如何将资源数组和普通数组绑定(bind)到一个数组中?

android - Onbackpressed 关闭应用程序登录后不关闭应用程序