Androidアプリ入門 No.36 RelativeLayoutの基本
RelativeLayout
RelativeLayoutの基本
RealativeLayoutの主な属性は以下にとなる。
属性 | 説明 |
---|---|
layout_alignParentTop | 親コンテナの上端にレイアウトする。 |
layout_alignParentBottom | 親コンテナの下端にレイアウトする。 |
layout_alignParentLeft | 親コンテナの左端にレイアウトする。 |
layout_alignParentRight | 親コンテナの右端にレイアウトする。 |
layout_centerHorizontal | 親コンテナの水平方向の中央にレイアウトする。 |
layout_centerVertical | 親コンテナの垂直方向の中央にレイアウトする。 |
layout_centerInParent | 親コンテナの中央にレイアウトする。 |
一通りの内容を確認できるサンプルは以下となる。まずは、strings.xmlでスタイルを定義する。
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity!</string> <string name="app_name">ActivityTest</string> <style name="CodeFont"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:background">#fff</item> <item name="android:textColor">#000</item> <item name="android:textSize">26sp</item> </style> </resources>
次に実際にレイアウトをする。main.xmlを以下のようにする。TextViewの文字列とレイアウトを合わせて設定している。
<?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 style="@style/CodeFont" android:text="右下" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" /> <TextView style="@style/CodeFont" android:text="右" android:layout_alignParentRight="true" /> <TextView style="@style/CodeFont" android:text="上横中" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView style="@style/CodeFont" android:text="左縦中" android:layout_alignParentLeft="true" android:layout_centerVertical="true" /> <TextView style="@style/CodeFont" android:text="真ん中" android:layout_centerInParent="true" /> </RelativeLayout>
最後にMainActivity.java。いつも通り何もしていない。
package sample.at; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }