我正在创建一个扩展TextView的自定义视图。我需要的是左手边的几个标签和TextView右侧的另一个检查器。
因此,我可以绘制这些标签,然后保存画布并将其正确翻译,以便可以在位图旁边绘制文本。这就是我这样做的方式。
canvas.drawBitmap(bitmap1, 0, top, paint);
canvas.drawBitmap(bitmap2, bitmap1_width, top, paint);
canvas.save();
canvas.translate(bitmap1_width + bitmap2_width, 0);
这里我想调用super.onDraw,但要求它使用宽度,以便减去两个位图和检查器的宽度。
然后我可以打电话给我
canvas.drawBitmap(checker, checkerLeft, top, null);
所以在翻译画布之后,我怎么能告诉super.onDraw中的画布只使用测量的宽度?请随意投入任何替代方案。我确实想使用画布,因为我的要求比这个例子稍微复杂一点。
答案 0 :(得分:0)
好的,我是在调用super.onDraw()之前使用canvas.scale(sx,sy)更改比例因子的。
这是以我想要的方式显示文本。如果有更好的答案,请发布。
canvas.save();
canvas.translate(margin, 0);
canvas.scale(scaleX, 1f);
super.onDraw(canvas);
canvas.restore();