首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在扩展TextView时强制画布仅使用区域的一部分来绘制文本

如何在扩展TextView时强制画布仅使用区域的一部分来绘制文本
EN

Stack Overflow用户
提问于 2012-05-31 05:35:24
回答 1查看 191关注 0票数 0

我正在创建一个扩展TextView的自定义视图。我需要的是一对夫妇的左手边的标签和右手边的另一个检查TextView。

因此,我可以绘制这些标签,然后保存画布并将其正确翻译,以便可以在位图旁边绘制文本。我就是这样做的。

代码语言:javascript
复制
canvas.drawBitmap(bitmap1, 0, top, paint);
canvas.drawBitmap(bitmap2, bitmap1_width, top, paint);

canvas.save();
canvas.translate(bitmap1_width + bitmap2_width, 0);

在这里,我想调用super.onDraw,但要求它使用宽度,以便减去两个位图和棋盘格的宽度。

然后我就可以打电话给我的

代码语言:javascript
复制
canvas.drawBitmap(checker, checkerLeft, top, null);

那么在转换画布之后,我如何才能告诉super.onDraw中的画布只使用测量的宽度呢?请随意添加任何替代方案。不过,我确实想使用canvas,因为我的需求比这个例子稍微复杂一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-31 06:47:42

在调用super.onDraw()之前,我使用canvas.scale(sx,sy)更改了比例因子。

这是以我想要的方式显示文本。如果有更好的答案,请贴出来。

代码语言:javascript
复制
canvas.save();
canvas.translate(margin, 0);
canvas.scale(scaleX, 1f);
super.onDraw(canvas);
canvas.restore();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10824599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档