素人プログラマ奮闘記

javaの初心者がAndroidのことを独学で勉強しつつ、メモを残していきます。

   

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>				



カテゴリーへ

inserted by FC2 system