Android-relative-layout
Android相対レイアウト
'_Android RelativeLayoutを使用すると、子ビューを互いに相対的に配置する方法を指定できます。 各ビューの位置は、兄弟要素または親を基準として指定できます。_
相対レイアウト
RelativeLayoutの属性
以下は、RelativeLayoutに固有の重要な属性です-
Sr.No. | Attribute & Description |
---|---|
1 |
android:id これは、レイアウトを一意に識別するIDです。 |
2 |
android:gravity これは、X軸とY軸の両方でオブジェクトがコンテンツを配置する方法を指定します。 可能な値は、top、bottom、left、right、center、center_vertical、center_horizontalなどです。 |
3 |
android:ignoreGravity これは、重力の影響を受けないビューを示します。 |
RelativeLayoutを使用すると、2つの要素を右境界線で整列したり、画面の中央に配置したり、左に中央に配置したりして、上下に配置できます。 デフォルトでは、すべての子ビューはレイアウトの左上に描画されるため、 RelativeLayout.LayoutParams から利用可能なさまざまなレイアウトプロパティを使用して各ビューの位置を定義する必要があり、重要な属性のいくつかを以下に示します-
Sr.No. | Attribute & Description |
---|---|
1 |
android:layout_above このビューの下端を指定されたアンカービューIDの上に配置し、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります |
2 |
android:layout_alignBottom このビューの下端を、指定されたアンカービューIDの下端に一致させ、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
3 |
android:layout_alignLeft このビューの左端を特定のアンカービューIDの左端に一致させ、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
4 |
android:layout_alignParentBottom trueの場合、このビューの下端を親の下端と一致させます。 「true」または「false」のブール値でなければなりません。 |
5 |
android:layout_alignParentEnd trueの場合、このビューの終了エッジを親の終了エッジと一致させます。 「true」または「false」のブール値でなければなりません。 |
6 |
android:layout_alignParentLeft trueの場合、このビューの左端を親の左端に一致させます。 「true」または「false」のブール値でなければなりません。 |
7 |
android:layout_alignParentRight trueの場合、このビューの右端を親の右端に一致させます。 「true」または「false」のブール値でなければなりません。 |
8 |
android:layout_alignParentStart trueの場合、このビューの開始エッジを親の開始エッジと一致させます。 「true」または「false」のブール値でなければなりません。 |
9 |
android:layout_alignParentTop trueの場合、このビューの上端を親の上端と一致させます。 「true」または「false」のブール値でなければなりません。 |
10 |
android:layout_alignRight このビューの右端を特定のアンカービューIDの右端に一致させ、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
11 |
android:layout_alignStart このビューの開始エッジを、指定されたアンカービューIDの開始エッジに一致させ、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
12 |
android:layout_alignTop このビューの上端を、指定されたアンカービューIDの上端に一致させ、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
13 |
android:layout_below このビューの上端を指定されたアンカービューIDの下に配置し、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
14 |
android:layout_centerHorizontal trueの場合、この子をその親内で水平方向に中央揃えします。 「true」または「false」のブール値でなければなりません。 |
15 |
android:layout_centerInParent trueの場合、この子をその親内で水平および垂直に中央揃えします。 「true」または「false」のブール値でなければなりません。 |
16 |
android:layout_centerVertical trueの場合、この子をその親内で垂直に中央揃えします。 「true」または「false」のブール値でなければなりません。 |
17 |
android:layout_toEndOf このビューの開始エッジを、指定されたアンカービューIDの最後に配置し、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
18 |
android:layout_toLeftOf このビューの右端を指定されたアンカービューIDの左に配置し、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
19 |
android:layout_toRightOf このビューの左端を指定されたアンカービューIDの右に配置し、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
20 |
android:layout_toStartOf このビューの終了エッジを、指定されたアンカービューIDの開始点に配置し、「@ [+] [package:] type:name」の形式で別のリソースへの参照にする必要があります。 |
例
この例では、相対レイアウトを使用して独自のAndroidアプリケーションを作成する方法を示す簡単な手順を紹介します。 _Hello World Example_の章で作成したAndroidアプリケーションを変更するには、次の手順に従います-
Step | Description |
---|---|
1 | You will use Android Studio IDE to create an Android application and name it as demo under a package com.example.demo as explained in the Hello World Example chapter. |
2 | Modify the default content of res/layout/activity_main.xml file to include few widgets in Relative layout. |
3 | Define required constants in res/values/strings.xml file |
4 | Run the application to launch Android emulator and verify the result of the changes done in the application. |
以下は、変更されたメインアクティビティファイル src/com.example.demo/MainActivity.java の内容です。 このファイルには、基本的な各ライフサイクルメソッドを含めることができます。
package com.example.demo;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
以下は res/layout/activity_main.xml ファイルの内容です-
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp" >
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/reminder"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentStart="true"
android:layout_below="@+id/name">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2"/>
</LinearLayout>
</RelativeLayout>
以下は、2つの新しい定数を定義する res/values/strings.xml の内容です-
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="action_settings">Settings</string>
<string name="reminder">Enter your name</string>
</resources>
変更したばかりの* Hello World!アプリケーションを実行してみましょう。 環境設定中に *AVD を作成したと思います。 Android Studioからアプリを実行するには、プロジェクトのアクティビティファイルの1つを開き、ツールバーの[画像を実行:/android/images/eclipse_run.jpg [Eclipse Run Icon]アイコンをクリックします。 Android StudioはAVDにアプリをインストールして起動し、セットアップとアプリケーションで問題がなければ、次のエミュレータウィンドウが表示されます-