ページ

2013年12月11日水曜日

AndroidのUIの勉強 その3(LinerLayout) layout_weightとweightSum



LinerLayoutでは、子要素を任意の大きさ(比率)で、配置することができます。
使用するのは、layout_weightとweightSumです。

まず、注意することは、横に並べる場合、子要素のlayout_widthを0dpに設定する必要があります。
縦に並べる場合は、子要素のlayout_heightを0dpにします。
これを設定しなければ、想定した大きさになってくれません。


layout_weightは、子要素に設定し、その子要素がどの程度の大きさを占めるかを設定します。

weightSumは、LinerLayoutに設定し、layout_weightが指定された場合の全体の大きさを設定します。

例えば、weightSumが100で、子要素のlayout_weightが40の場合、縦または横の60%が空白になります。
weightSumが設定されない場合、子要素のlayout_weightの合計がweightSumとなるように大きさが決められます。

また、layout_weight、weightSumで配分される大きさからは、固定サイズの子要素の大きさは除かれます。
つまり、wrap_contentが設定された子要素があった場合、そのサイズを除いたサイズが、全体のサイズになります。


サンプル



サンプル1は、LinearLayoutにweightSumの設定がなく、layout_weight="1"のボタンとlayout_width="wrap_content"のボタンがあります。

weightSumがないので、layout_width="wrap_content"以外の領域がlayout_weight="1"になります。


サンプル2は、android:weightSum="4"で、android:layout_weight="1"とandroid:layout_weight="2"のボタンがあります。ボタンの大きさは、1:2で、25%のスペースが空いています。

使った、xmlは以下のとおりです。


0 件のコメント:

コメントを投稿