首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >油漆onMeasure()决定高度宽度

油漆onMeasure()决定高度宽度
EN

Stack Overflow用户
提问于 2016-12-21 04:28:08
回答 1查看 61关注 0票数 0

我在这里面临着奇怪的问题,我需要专家的建议。

我有一个自定义视图,它沿着它绘制点和文本。现在我的问题是,我不知道它的宽度高度在onDraw方法中会被计算。(当然,动态计算)。那么如何在这个场景中处理setMeasuredDimension(parentWidth, parentHeight)。您不知道的高度和宽度,它将在onDraw计算取决于文本长度请帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-12-21 04:46:33

您所需要做的就是在Paint.getTextWidths() ()中使用onMeasure。

您将得到所有字符的宽度,所以在循环中只需添加所有宽度

代码语言:javascript
复制
float textWidth = 0;
float [] charsWidth = new float[text.length()];

int widths = mPaint.getTextWidths(text, charsWidth);

for (int i = 0; i < widths; i++) {
    textWidth += charsWidth[i];
}

你的课文很宽。

不要忘记使用正确的参数初始化Paint对象,特别是预先设置文本大小。

编辑:,如果您同时需要文本宽度和高度,那么使用Paint.getTextBounds()

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41255107

复制
相关文章

相似问题

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