このスレッドで私の質問に対する答えを見つけました: android How to stretch rows in the gridview to fill screen?
実際、次の仕組みがわかりません。
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
// HACK! TAKE THAT ANDROID!
if (isExpanded())
{
// Calculate entire height by providing a very large height hint.
// But do not use the highest 2 bits of this integer; those are
// reserved for the MeasureSpec mode.
int expandSpec = MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
ビットがシフトされた理由と、AT_MOST がどのように機能するかについて、どこかに説明がありますか? AT_MOST フラグと一緒に、最大サイズの値があるべきではありませんか?