LinearLayoutの使い方
Androidのソフトを作成する際に頻繁に使用することが多いため、
LinearLayoutの使い方についてまとめておこうと思います。
※ちなみに色々調べてみた結果呼び名が(リニアレイアウト)と(ライナーレイアウト)と2種類あるみたいです。
私はライナーレイアウトと呼んでましたが・・どっちが正しいんでしょうかね?
LinearLayoutは子供の要素を縦または横の一列に並べるレイアウトです。
クラス図
java.lang.Object
ウ! android.view.View
ウ! android.view.ViewGroup
ウ! android.widget.LinearLayout
属性一覧
layout_width:
幅を設定します。match_parent を設定すると親のレイアウトいっぱいの幅にすると言う意味です。この場合は画面の幅と同じ幅に設定されます。パラメータ:(fill_parent/match_parent/wrap_content)
layout_height:
高さを設定します。設定は layout_width と同じです。パラメータ:(fill_parent/match_parent/wrap_content)
orientation:
縦に並べて配置する場合は vertical、横に並べて配置する場合は horizontal を指定します。パラメータ:(horizontal/vertical)
gravity:
デフォルトだとLinearLayout内のViewは、左上から順に表示されていきます。 LinearLayoutの右上に配置した場合や、右下に配置したい場合などに設定するオブジェクトの配置場所を変えるための属性
レイアウトに配置したウィジェットすべてに適用される
パラメータ:(top/bottom right/left fill/fill_vertical fill_horizontal/center center_vertical/center_horizontal clip_vertical/clip_horizontal)
layout_gravity:
使用方法はgravityと同じ指定したウィジェット個別に適用される
二つで違うことは、配下にあるウィジェットすべてに適用するか、個別に適用するかの違い
パラメータ:(top/bottom right/left fill/fill_vertical fill_horizontal/center center_vertical/center_horizontal clip_vertical/clip_horizontal)
所属Viewの設定 layout_weight:
LinearLayoutの子供View に対するウェイト(重み)を指定し、余白を割り当てます。余白を割り当てるため、均等割りを行うのであればサイズ指定を 0dp にする必要があります。
・ vertical (縦並び)であれば android:layout_height="0dp"
・ horizontal (横並び)であれば android:layout_width="0dp"
ボタンを3個並べた際のサンプル(重み1:1:1)
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button"
android:layout_weight="1"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button"
android:layout_weight="1"/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button"
android:layout_weight="1"/>
</LinearLayout>
ボタンを3個並べた際のサンプル(重み1:2:1)
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button"
android:layout_weight="1"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button"
android:layout_weight="2"/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="Button"
android:layout_weight="1"/>
</LinearLayout>
カテゴリーへ