Как получить ширину пользовательского представления, когда layout_width равен wrap_content?

Допустим, у нас есть наш собственный вид, объявленный в XML, и мы переопределяем его метод onMeasure():

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    // Maximal length of line is width of this View 
    width = this.getLayoutParams().width;

Если атрибут XML android:layout_width="100px" установлен, то ширина возвращает значение 100. Но если атрибут android:layout_width="match_parent" или же android:layout_width="wrap_content" тогда он возвращает -1 или -2. Так как же мы можем измерить ширину этого вида в этом случае?

1 ответ

Решение

Использование

width = MeasureSpec.getSize(widthMeasureSpec);
Другие вопросы по тегам