[Android] android:gravity と android:layout_gravity の違い

Android の画面上に配置する部品(ビュー)の位置を決める属性として、android:gravityandroid:layout_gravity がありますが、この2つの属性の違いを調べてみました。

android:gravity

android:gravity 属性は、公式サイトの説明を見ると次のように書かれています:

Specifies how an object should position its content, on both the X and Y axes, within its own bounds.

これを意訳すると「あるオブジェクトが、その中に含むオブジェクトを、自身の境界内でX軸/Y軸上どのように配置するかを指定する」ということになります。

例えば、あるオブジェクトAに別のオブジェクトBが含まれているとき、A対して android:gravity=”left” と指定すると、BはAの中で左寄せにして配置されます。

android:layout_gravity

android:layout_gravity 属性は、公式サイトの説明を見ると次のように書かれています:

Defines how the child view should be positioned, on both the X and Y axes, within its enclosing layout.

これを意訳すると「子要素(ビュー)が親要素の中でX軸/Y軸上どのように配置されるかを定義する」ということになります。

例えば、あるオブジェクトAに別のオブジェクトBが含まれているとき、B対して android:layout_gravity=”left” と指定すると、BはAの中で左寄せにして配置されます。

参考

公式サイトの gravity の説明ページ: R.attr | Android Developers

公式サイトの layout_gravity の説明ページ: R.attr | Android Developers


Pocket
Bookmark this on Yahoo Bookmark

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>