[Android] アプリのタイトルバーを非表示にする方法

Eclipse + ADT で Android プロジェクトを作成すると、デフォルトではタイトルバー付きアプリのスケルトンが作られますが、ゲームアプリなどを作る場合はタイトルバーは表示させたくありません。
ということで、タイトルバーなしのアプリを作る方法のメモです。

まず前提として、アプリケーションの見た目は、アプリケーションのマニフェストファイル(AndroidManifest.xml)のテーマ設定で決まります。

デフォルトのマニフェストファイルは、例えば以下のようになっています:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.testapp"
  android:versionCode="1"
  android:versionName="1.0" >

  <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

  <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.testapp.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
          <action android:name="android.intent.action.MAIN" />

          <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
  </application>

</manifest>

このマニフェストファイルに含まれる 要素の android:theme 属性がアプリの見た目を決めていますが、上記の例では、「@style/AppTheme」という値が設定されています。この時、アプリは以下のようにタイトルバー付きで表示されます:

タイトルバー付きアプリ画面

この値を、「NoTitleBar」を含む値を設定すると、タイトルバー無しでアプリが表示されます。「NoTitleBar」を含む値は何種類かありますが、例えば「Theme.NoTitleBar」を以下のように設定します:

android:theme="@android:style/Theme.NoTitleBar"

すると、以下のような画面になります:

タイトルバー無しアプリ画面

また、android:theme 属性の値として「NoTitleBar.FullScreen」を含む値を設定すると、画面上部のステータスバーも表示されなくなります。例えば、

android:theme="@android:style/Theme.NoTitleBar.FullScreen"

と設定すると、以下のような表示になります:

タイトルバー無しフルスクリーン画面

「NoTitleBar」や「NoTitleBar.FullScreen」を含むテーマは、背景のテーマが異なる「Theme.Black.NoTitleBar」や「Theme.Light.NoTitleBar」など色々あります。

参照

公式サイトの説明ページ: Styles and Themes | Android Developers


Pocket
Bookmark this on Yahoo Bookmark

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>