全
我在这里面临着奇怪的问题,我需要专家的建议。
我有一个自定义视图,它沿着它绘制点和文本。现在我的问题是,我不知道它的宽度高度在onDraw方法中会被计算。(当然,动态计算)。那么如何在这个场景中处理setMeasuredDimension(parentWidth, parentHeight)。您不知道的高度和宽度,它将在onDraw计算取决于文本长度请帮助。
发布于 2016-12-21 04:46:33
您所需要做的就是在Paint.getTextWidths() ()中使用onMeasure。
您将得到所有字符的宽度,所以在循环中只需添加所有宽度
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()。
https://stackoverflow.com/questions/41255107
复制相似问题