Android Studio編 gravity と layout_gravity の違い

2016年2月5日

Android Studioでレイアウト作成時、画面の構成で layout_gravity と gravity の違いがわかってなかったのでメモしておこうと思います。
この属性は、LinearLayoutで表示する部品の位置付けをする属性なのですが毎回「gravityとlayout_gravity どっち使うんだっけ?」
と迷っていたので検証する事にしました。
 
まず各ボタンに layout_gravity と gravity の属性を付けて位置を確認。
わかりやすく gravity には。layout_gravityにはを塗りつけました。

gravity表示させると画像のようになりました。
の gravity ボタンの位置は変わらずテキストの表示位置が変わっていることがわかります。
一方、のlayout_gravity は、ボタンの位置が変わってる事がわかります。
結果
gravityは部品の中(テキスト文字などの)位置指定。
layout_gravityは、レイアウトの中での位置指定。
されてる事がわかりました。
 
 
 
 
 
 
 
 
では、次にLinearLayout内に gravity の設定をします。 
gravity2LinearLayout 内の gravity 属性に “right” と設定すると赤のボタンは全て右端に移動しました。
layout_gravity が属性についてる青ボタンはそのまま位置を保っています。
 
結果
LinearLayout の属性に gravity 属性で位置付けするとレイアウト内の部品は、layout_gravity で位置付けした部品以外は移動する。
という事がわかりました。
 
ちなみにLinearLayout の属性にLayout_gravity で位置付けしてもボタンの位置に変化はありませんでした。
layout_gravity は、あくまでレイアウト内での位置付けをするものだからレイアウト自体に設定しても意味がないという事でしょうか。
これですっきりしました(*´ェ`*)
次から迷わず書けそうです。
 
 

 

Posted by syunsuke-go