乙個measurespec封裝了父布局傳遞給子布局的布局要求,每個measurespec代表了一組寬度和高度的要求。乙個measurespec由大小和模式組成。它有三種模式:unspecified(未指定),父元素不對自元素施加任何束縛,子元素可以得到任意想要的大小;exactly(完全),父元素決定自元素的確切大小,子元素將被限定在給定的邊界裡而忽略它本身大小;at_most(至多),子元素至多達到指定大小的值。
它常用的三個函式:
1.static int getmode(int measurespec):根據提供的測量值(格式)提取模式(上述三個模式之一)
2.static int getsize(int measurespec):根據提供的測量值(格式)提取大小值(這個大小也就是我們通常所說的大小)
3.static int makemeasurespec(int size,int mode):根據提供的大小值和模式建立乙個測量值(格式)
api demo中提供的自定義view示例中:
@override
protected void onmeasure(int widthmeasurespec, int heightmeasurespec)
/*** determines the width of this view
* @param measurespec a measurespec packed into an int
* @return the width of the view, honoring constraints from measurespec
*/private int measurewidth(int measurespec) else
}return result;
}/**
* determines the height of this view
* @param measurespec a measurespec packed into an int
* @return the height of the view, honoring constraints from measurespec
*/private int measureheight(int measurespec) else
}return result;
}
MeasureSpec介紹及使用詳解
乙個measurespec封裝了父布局傳遞給子布局的布局要求,每個measurespec代表了一組寬度和高度的要求。乙個measurespec由大小和模式組成。它有三種模式 unspecified 未指定 父元素部隊自元素施加任何束縛,子元素可以得到任意想要的大小 exactly 完全 父元素決定自...
MeasureSpec介紹及使用詳解
乙個measurespec封裝了父布局傳遞給子布局的布局要求,每個measurespec代表了一組寬度和高度的要求。乙個measurespec由大小和模式組成。它有三種模式 unspecified 未指定 父元素部隊自元素施加任何束縛,子元素可以得到任意想要的大小 exactly 完全 父元素決定自...
MeasureSpec介紹及使用詳解
乙個measurespec封裝了父布局傳遞給子布局的布局要求,每個measurespec代表了一組寬度和高度的要求。乙個measurespec由大小和模式組成。它有三種模式 unspecified 未指定 父元素部隊自元素施加任何束縛,子元素可以得到任意想要的大小 exactly 完全 父元素決定自...