2010年02月16日

[Android] LinearLayoutとweightとweightSum

今日、職場でLinearLayoutにweightSumなる属性があるということを教えてもらいました。
LinearLayoutの子要素でlayout_weightという属性が使えることは知っていたのですが、まさか親要素に合計値を設定する箇所があったとは。
ということで、いろいろと値を変えて試してみました。

weight_test.png

・weightSumを設定しないと単純に子要素のlayout_weightの合計値がweightSumとして扱われるような感じっぽいですね。

・weightSumが子要素の合計値よりも大きい場合は余白が生まれるようです。
 ただ、weightSumとlayoutWeightの割合が正しく画面上に反映されるわけではないようです。

・weightSumが設定されていない場合で、それぞれのlayout_weightの値が同じ場合は等分されますが、差がある場合はそれぞれ設定された割合(に近い)感じで分割されるようです。

・小数点で指定しても、割合が同じなら整数と同じように分割されるようです。

・設定したweightSumを超えるようなlayout_weightを設定しても問題ないようです。weigtSumが設定されていない時と同じように分割される(のかな?)ようです。

こんなにいろいろ試してみるほど複雑な要素ではなかったですね。

一応↓に今回確認に使ったサンプルを置いておきます。
WeightTest.zip

posted by t2low at 23:18| Android