複数のレイアウト切り替え
androidアプリの基本的な仕組みはわかってきましたから、いろいろな応用の手法を覚えていくことにしましょう。まずは、「複数のレイアウト」の利用からです。androidでは、XMLファイルでレイアウトを用意できました。これは、Javaのソースコードからレイアウトを切り離し、簡単にレイアウトの修正が行えるようにとの配慮からでしょう。
XMLとしてレイアウトが用意できるようになったということは、簡単な定義でレイアウトを追加したりできるようになった、ということでもあります。いくつかのレイアウトを用意し、必要に応じて切り替えたりして使うことができるのです。では、実際にやってみましょう。
まずは、レイアウトの作成からです。ここでは「main.xml」と「sub.xml」の2つのレイアウトファイルを用意することにしましょう。まずは、メイン画面として用意されるmain.xmlからです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
id="@+id/main_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="メイン・レイアウト"
/>
<Button
id="@+id/main_button"
android:layout_width="100px"
android:layout_height="wrap_content"
android:text="移動"
/>
</LinearLayout>
ざっとこんな感じでよいでしょう。テキストの表示とボタンが1つあるだけですね。続いて、もう1つのレイアウトファイル「sub.xml」を作成しましょう。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
id="@+id/sub_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="新しいレイアウト"
/>
</LinearLayout>
こちらは、単にテキストを表示するだけのシンプルなものにしてあります。レイアウト切り替えのサンプルですので、それぞれで修正してもかまいません。