StaticLayout何时返回0的高度?

时间:2016-01-11 03:33:28

标签: android android-view

我有一个返回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();
    }

1 个答案:

答案 0 :(得分:0)

我猜你这么早就得到你的布局高度试试这段代码

view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        @Override
        public boolean onPreDraw() {
     // get height here
        return true;
        }
    });