2012年10月15日月曜日

タイトルバーを非表示にする方法 ? Android

せっかくAndroidアプリを作り始めたので、これから少しずつAndroidのプログラムについて書いていこうかなと思っています。まずはじめはAndroidでタイトルを非表示にする方法のまとめです。

さて、Androidでタイトルを非表示にする方法は、

  1. コードで制御
  2. manifestファイルで制御(アクティビティ毎制御)
  3. manifestファイルで制御(アプリ全体)

の3パターンあります。

(1)コードで制御

これは比較的良くネットで見かける方法で制御単位はアクティビティ毎。

1 public void onCreate(Bundle savedInstanceState) {
2     super.onCreate(savedInstanceState);
3  
4     //setContentViewの前でタイトル非表示
5     requestWindowFeature(Window.FEATURE_NO_TITLE);
6  
7     setContentView(R.layout.activity01);
8 }

ActivityのonCreate内でrequestWindowFeature(Window.FEATURE_NO_TITLE)を呼ぶだけですね。肝はsetContentViewの前に呼ぶことです。後では、適用されません。このやり方のメリットは、ご想像の通りプログラム内で表示・非表示を動的に切り替えられることですが、setContentViewの前である必要があるため、まぁ、正直そういった状況は多くないと思います。

(2)manifestファイルで制御(アクティビティ毎制御)

manifestファイル周りは情報は少なめでしょうか。

(1) で紹介した方法と同じく制御単位はアクティビティ毎です。
Applicationタブ—Attributes for ***—Themeに

1 @android:style/Theme.NoTitleBar

を設定することでアプリ全体のActivityのタイトルが非表示になります。

(3)manifestファイルで制御(アプリ全体)

Applicationタブ—Application Attributes—Themeに

1 @android:style/Theme.NoTitleBar

を設定することでアプリ全体のActivityのタイトルが非表示になります。

(まとめ)

タイトルバーを動的に表示・非表示にするケースはあまり多くないですし、アプリ内の統一感をだすために全てのActivityのタイトルバーをなくすことが多いので、個人的に(3)を多く使っている気がします。

0 件のコメント:

コメントを投稿