我有一个返回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();
}
答案 0 :(得分:0)
我猜你这么早就得到你的布局高度试试这段代码
view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
// get height here
return true;
}
});