2010年12月26日日曜日

【android アプリ 開発】 RelativeLayout 出力








■RelativeLayout 出力


RelativeLayoutはボタンやテキストボックス等の構成要素の位置を相対的に配置することができます。

1.次のように新しいプロジェクトを生成します。



2.res > layout > main.xml ファイルを開きます。


3.main.xml ファイルのソースコードを修正します。


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:id="@+id/label"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Type here:"/>
    <EditText
        android:id="@+id/entry"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@android:drawable/editbox_background"
        android:layout_below="@id/label"/>
    <Button
        android:id="@+id/ok"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/entry"
        android:layout_alignParentRight="true"
        android:layout_marginLeft="10dip"
        android:text="OK" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/ok"
        android:layout_alignTop="@id/ok"
        android:text="Cancel" />
</RelativeLayout>



4.Run -> Run を選択して実行します。

[ RelativeLayout 実行結果画面 ]


<xml コードの説明>

android:id="@+id/label"  =>IDはlabel 。
android:text="Type here:"  => labelに表示されるテキスト。
android:layout_below="@id/label" => label の下に配置します。
android:layout_alignParentRight="true" => 親の右に合わせる。OKボタンはTextViewの右に合わせています。
android:layout_toLeftOf="@id/ok" => OKボタンの左に配置します。



次は名前と住所を入力するように修正したソースコードと結果です。


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:id="@+id/label"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"    
        android:text="名前と住所を入力したください。"/>
    <EditText
        android:id="@+id/entry"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         android:layout_below="@id/label"
        android:background="@android:drawable/editbox_background"
        />
    <EditText
        android:id="@+id/entry2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/entry"
        android:background="@android:drawable/editbox_background"
        />
    <Button
        android:id="@+id/ok"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/entry2"
        android:layout_alignParentRight="true"
        android:layout_marginLeft="10dip"
        android:text="OK" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/ok"
        android:layout_alignTop="@id/ok"
        android:text="Cancel" />
</RelativeLayout>

[ソースコード]



[ 実行結果 ]