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

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

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

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

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

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

Android Studio 3.1.2
Android 8.1

 



画面表示

 
例えば、こちらの友歌ちゃんの画像を表示したいわけです
 
girl tomoka 169x300 - [Android] アプリのタイトルバーを非表示、全画面表示にする、Theme.NoTitleBar
(864×1536,いわゆる9:16の比率です)
 
これを普通に表示させるとこうなります
 
original - [Android] アプリのタイトルバーを非表示、全画面表示にする、Theme.NoTitleBar
 
フルスクリーンにするには3種類のバーを非表示にする必要があります。

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

 

screensize 00 100x100 - [Android] アプリのタイトルバーを非表示、全画面表示にする、Theme.NoTitleBar
アプリの画面サイズを取得したい事が時々あります。タブレットとスマホで表示を変えたい。あるいはテキストの位置を正確に表示したいなど。画面のサイ...

 

 

タイトルバー非表示

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

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

 
リソースです
strings.xml

 
するとこうなります。
 
notitle bar - [Android] アプリのタイトルバーを非表示、全画面表示にする、Theme.NoTitleBar
 
ちょっとは改善したでしょうか
画像の左右に余白ができましたが、これはスクリーンサイズと画像のアスペクト比があっていないためですから、レイアウトのscaleTyoeをcenterCropなどに設定すれば改善されます。ただし画像次第ですね

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

scaletype 00 100x100 - [Android] アプリのタイトルバーを非表示、全画面表示にする、Theme.NoTitleBar
画像をスクリーン画面の中央に設定して、かつ枠からはみ出さないようににフィットさせるには ImageView.ScaleType を上手に使わ...

 

 

ステータスバー非表示

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

 
notitle statsu bar - [Android] アプリのタイトルバーを非表示、全画面表示にする、Theme.NoTitleBar
 
statusbar のバッテリーアイコンや時間表示もなくなりました。
まだNavigation barは残っています。

 

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

 
最初からこれを、とも思いますがAPI 19以上であれば
SYSTEM_UI_FLAG_IMMERSIVE
SYSTEM_UI_FLAG_HIDE_NAVIGATION
SYSTEM_UI_FLAG_FULLSCREEN
等をコードで設定することで可能です。
 
AppCompatActivityはActivityに変更したままです。
ManifestのThemeはデフォルトの設定のままで
android:theme=”@style/AppTheme”
 
MainActivity.java

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

 
[モデル 河村友歌]
 
 
References:
Hide the status bar
Hide the Navigation Bar
Enable fullscreen mode

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

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


 


ページのトップへ戻る




シェアする

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

フォローする