0

根据 [Canvas.drawVertices Javadoc](http://developer.android.com/reference/android/graphics/Canvas.html#drawVertices(android.graphics.Canvas.VertexMode, int, float[], int, float[ ], int, int[], int, short[], int, int, android.graphics.Paint))null作为 Paint传递是有效的,如果texs参数也是null.

paint 指定 texs 数组非空时使用的着色器

当使用 for Paint 调用该drawVertices方法时null,这将导致空指针异常。

4

1 回答 1

1

因为在内部它调用

nativeDrawVertices(mNativeCanvas, mode.nativeInt, vertexCount, verts,
                   vertOffset, texs, texOffset, colors, colorOffset,
                  indices, indexOffset, indexCount, paint.mNativePaint);

如果paint 为null ,paint.mNativePaint将导致NullPointerException。医生忘了告诉你这里的油漆不能为空:)

由于paint定义了线型等,因此不使用paint绘制顶点似乎也不合逻辑。并且文档没有说明paint is optional

于 2012-04-26T21:06:22.590 回答