フルスクリーン表示のアプリケーションを作る


ゲームなどのアプリケーションを作成しているときに、通知領域やタイトルバーを出したくないことがあると思います。
今回は、通知領域とタイトルバーを消す方法を紹介します。

通知領域を消すと、ユーザに電波状況や電池の消耗状況、ノーティフィケーションの情報などが見えなくなります。電波を使用するアプリケーションや電池の消耗が大きなアプリケーションでは、通知領域が見えないことでユーザに不利益が起こるかもしれません。
メリット・デメリットを考えた上で本機能を使うことをお勧めします。

詳細は続きをどうぞ

通知領域とタイトルバーの非表示

フルスクリーンにする為には、「タイトルバー」と「通知領域」を非表示にする必要があります。
「タイトルバー」の非表示には、Activity#requestWindowFeature()Window#FEATURE_NO_TITLEを指定します。

「通知領域」の非表示には、Window#addFlags()を利用します。

HogeActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
 
    //タイトルバーの非表示
    //setContentViewの前に呼ぶ必要がある
    requestWindowFeature(Window.FEATURE_NO_TITLE);
 
    setContentView(R.layout.main);
 
    //通知領域の非表示
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
 
}

また上記とは別に、AndroidManifestファイルにThemeの設定を書きこむことでフルスクリーンモードの設定することも出来ます。

AndroidManifest.xml

1
2
3
4
5
6
7
8
<activity android:name=".Main"
          android:label="@string/app_name"
          android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

これらの設定はHoneyComb(Android 3.x)では有効ではありませんでした。
HoneyCombには、「BACK」「HOME」「APP履歴」にハードキーが用意されず、下部の通知領域バーの左側にソフトキーで「BACK」「HOME」「APP履歴」ボタンが表示されているからだと考えられます。

One Comment