複数のレイアウト切り替え


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>


こちらは、単にテキストを表示するだけのシンプルなものにしてあります。レイアウト切り替えのサンプルですので、それぞれで修正してもかまいません。