ViewGroup クラスを拡張して、独自のレイアウトをプログラミングしています。オーバーライドする必要があるメソッドの 1 つは onMeasure() メソッドです。このメソッドでは、親ビュー (私のレイアウトを含むビュー) は、私のレイアウトが持つことができる可能な幅と高さを渡します。
@Override
public class MyOwnLayout extends ViewGroup {
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// Argumens passed by the parent View.
// Can be both arguments be as MeasureSpec.UNSPECIFIED simultaneously ??
}
}
この MeasureSpec 引数には、"EXACLY"、"AT_MOST"、"UNSPECIFIED" の 3 つのモードがあります (これらの意味はここにあります。具体的には、"UNSPECIFIED" 値は、レイアウトが必要な任意のサイズになる場合に親から渡されます。これは、たとえば、親が ScrollView の場合に指定されます。
したがって、私の唯一の疑問は、親が私のレイアウトに両方を同時に UNSPECIFIED として渡すことができるということです。可能であれば、どのような場合ですか?