LinearLayout
以下のメソッドのクラスのドキュメントによると:
protected LinearLayout.LayoutParams generateDefaultLayoutParams ()
レイアウトの向きが VERTICAL の場合、幅 MATCH_PARENT と高さ WRAP_CONTENT のレイアウト パラメータのセットを返します。向きが HORIZONTAL の場合、幅は WRAP_CONTENT に、高さは WRAP_CONTENT に設定されます。
コードを見たときに最初にこれに気づき、間違いかもしれないと思ったので、明確にするためにドキュメントを見ましたが、そのドキュメントはコードに同意しているが説明がないことがわかりました。なんでこんなに非対称なの?
言い換えれば、水平レイアウトのデフォルトの高さは垂直レイアウトのデフォルトの幅と同じであると期待しています。そうではないのはなぜですか。説明がなければ、ランダムで偶然のようです。