[Android] アプリのタイトルバーを非表示、全画面表示にする、Theme.NoTitleBar

ゲームアプリなどではスクリーンのタイトルバーを消したい、あるいは全画面にしたい場合があります。これらは、AndroidManifest.xml のテーマ設定で簡単にできます
 

河村友歌_1

河村友歌_2

河村友歌_3

Android Studio 3.1
Android 8.1

 



画面表示

 
例えば、こちらの友歌ちゃんの画像を表示したいわけです
 
girl_tomoka
(864×1536,いわゆる9:16の比率です)
 
これを普通に表示させるとこうなります
 
notitle_1
 
フルスクリーンにするには3種類のバーを非表示にする必要があります。

  • タイトルバー
  • ステータスバー
  • ナビゲーションバー

 

アプリの画面サイズを取得したい事が時々あります。タブレットとスマホで表示を変えたい。あるいはテキストの位置を正確に表示したいなど。画面のサイ...

 

 

タイトルバー非表示

 
AppCompatActivityをActivityに変更してタイトルバーを無くしてみましょう。
 
MainActivity.java

 
レイアウトは簡単です画像をImageViewで表示させるだけです
activity_main.xml

 
リソースです
strings.xml

 
するとこうなります。
 
notitle_2b
 
ちょっとは改善したでしょうか
画像の左右に余白ができましたが、これはスクリーンサイズと画像のアスペクト比があっていないためですから、レイアウトのscaleTyoeをcenterCropなどに設定すれば改善されます。ただし画像次第ですね

 
scaleTypeについてはこちらを参考にしてください。
 

画像をスクリーン画面の中央に設定して、かつ枠からはみ出さないようににフィットさせるには ImageView.ScaleType を上手に使わ...

 

 

ステータスバー非表示

 
AppCompatActivityをActivityに変更してタイトルバーを非表示にしました。
次は、テーマを使ってステータスバーを消します。
 
AndroidManifest.xml
themeを @style/AppTheme から
@android:style/Theme.NoTitleBar に変えます
(AppCompatActivityからActivityへの変更はそのままです)

 
notitle_2
 
もともとの設定は @android:style で呼んでいるので
Android が標準で持っているリソースにアクセスしています

 

フルスクリーン(ナビゲーションバー非表示)

 
AppCompatActivityをActivityに変更してタイトルバーを非表示にしてthemeをNoTitleBarに変えましたが、さらにFullscreenのテーマに変更します。
 
themeを @android:style/Theme.NoTitleBar から
@android:style/Theme.NoTitleBar.Fullscreen に変更
(AppCompatActivityからActivityへの変更はそのままです)
 
notitle_3
 
statusbar のバッテリーアイコンや時間表示もなくなりました。
まだNavigation barは残っています。
 

 

フルスクリーンをコードで設定

 
最初からこれを、とも思いますがAPI 19以上であれば
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
SYSTEM_UI_FLAG_HIDE_NAVIGATION
SYSTEM_UI_FLAG_FULLSCREEN
をコードで設定することで可能です。

AppCompatActivityはActivityに変更します。
Themeはデフォルトの @style/AppTheme のまま
 
MainActivity.java

 

 
SYSTEM_UI_FLAG_IMMERSIVE_STICKY
SYSTEM_UI_FLAG_HIDE_NAVIGATION
を個別に設定することもできますので試してみましょう。
 
[モデル 河村友歌]

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加


 


ページのトップへ戻る




シェアする

  • このエントリーをはてなブックマークに追加

フォローする