我有一个方法可以返回StaticLayout的高度(将在下游使用)。在极少数情况下,它返回0作为高度,这会导致依赖函数崩溃。结果为0的原因可能是什么?传递的文本是"T“。mEventTextPaint设置为有效大小。有什么想法吗?
private int getTextLineHeight(String text, float widthPerDay) {
StaticLayout textLayout = new StaticLayout(text, mEventTextPaint, (int) (widthPerDay - mEventPadding * 2), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
return textLayout.getHeight() / textLayout.getLineCount();
}发布于 2016-01-11 11:40:38
我猜你很早就得到了布局高度,试试这段代码吧
view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
// get height here
return true;
}
});https://stackoverflow.com/questions/34713814
复制相似问题