我编写了一个名为DottedLine
的自定义视图,该视图基本上绘制了具有一定高度的垂直线。
该类使用以下内容覆盖onDraw
:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(getWidth() / 2, size, getWidth() / 2, getHeight() - getHeight() % (size + gap), paint);
}
无需详细了解作为drawLine
方法的参数传递的表达式。足够知道高度(取决于设备,可能取决于GL_MAX_TEXTURE_SIZE
限制),因为视图可以是可滚动布局的一部分。
问题是,当时间足够长时,我会收到警告并且无法渲染线条。
W/OpenGLRenderer: Bitmap too large to be uploaded into a texture (42x5480, max=4096x4096)
我正在考虑将线路分成几部分,但这将对当前的实现产生重大影响。
您对如何解决此问题有任何想法吗?