2016-01-11 2 views
0

У меня есть метод, который возвращает высоту StaticLayout (будет использоваться ниже по течению). В редком случае он возвращает 0 как высоту, которая приводит к сбою зависимых функций. Что может вызвать результат 0? Текст передается «T». Для параметра mEventTextPaint задан допустимый размер. Есть идеи?Когда StaticLayout вернет высоту 0?

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

Я думаю, вы получаете вашу высоту макета так рано попробовать этот код

view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { 
     @Override 
     public boolean onPreDraw() { 
    // get height here 
     return true; 
     } 
    }); 
Смежные вопросы