Android Studioでアプリ開発!

Androidアプリ開発初心者の備忘録です。

Android Studioで画面のタイトルをデザイン時に変更する

画面(アクティビティ)のタイトルを変更したい

Android Studioで画面を作成すると、自動的にタイトルを設定してくれています。しかし、そのまま使うことはほとんどないと思います。
今回は画面のタイトルをデザイン時に変更する方法を紹介したいと思います。

完成イメージ

タイトルを [こんにちは、世界] に変更しました。
f:id:jolene:20140725144215p:plain

AndroidManifest.xml を確認する

画面のタイトルは AndroidManifest.xml に記述されています。[android:label=] と書いてある部分がそれにあたります。ここでは "@string/app_name" が指定されています。

<activity
    android:name=".MyActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

strings.xml を確認する

"@string/xxxxx" と書かれている部分の実体は、res/values/strings.xml に記述されています。strings.xml を開くと以下のようになっています。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">HelloWorld</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
</resources>

AndroidManifest.xml では "@string/app_name" とあったので、strings.xml の <string name="app_name"></string> に該当する HelloWorld をアプリ実行時に参照することになります。なんだかややこしい感じもしますが、多言語対応や一つのプロジェクトから複数のアプリを作る際にはプログラムを触ることなくこの部分を変更するだけで対応できるので非常に便利です。

strings.xml に画面のタイトルを追加する

app_name を変更すればタイトルも変わるのですが、これはアプリ名としても使われています。ですので、画面のタイトルとして別の string を追加したいと思います。
<string name="title_MyActivity">こんにちは、世界</string> を追加してみました。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">HelloWorld</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="title_MyActivity">こんにちは、世界</string>
</resources>

AndroidManifest.xml を変更する

strings.xml にタイトルを追加したので、AndroidManifest.xml も変更します。

<activity
    android:name=".MyActivity"
    android:label="@string/title_MyActivity" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

これで実行すると、完成イメージのようにタイトルを変更することができます。

まとめ

画面のタイトルを変更する方法を紹介しました。画面のタイトルは AndroidManifest.xml で指定されていました。その実体は res/values/strings.xml に記述されていました。タイトルを変更する場合には、この2つのファイルの整合性が重要です。