我正在创建一个扩展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中的画布只使用测量的宽度呢?请随意添加任何替代方案。不过,我确实想使用canvas,因为我的需求比这个例子稍微复杂一点。
发布于 2012-05-31 06:47:42
在调用super.onDraw()之前,我使用canvas.scale(sx,sy)更改了比例因子。
这是以我想要的方式显示文本。如果有更好的答案,请贴出来。
canvas.save();
canvas.translate(margin, 0);
canvas.scale(scaleX, 1f);
super.onDraw(canvas);
canvas.restore();https://stackoverflow.com/questions/10824599
复制相似问题