毎回どうやってやるんだっけ?と思い出せなくなるので記事をかいて記録する。
1. アプリケーションのテーマでActionBarを無効にする
app/res/values/styles.xml
のAppThemeに、windowNoTitle true
を追加する。
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+ <item name="windowNoTitle">true</item>
全ActivityのActionBarが非表示になるので注意
2. アプリケーションのテーマに非ActionBarを適用する
app/res/values/styles.xml
のAppThemeのparentを、Theme.AppCompat.Light.NoActionBar
にする。
styles.xml
<resources>
<!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+ <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
全ActivityのActionBarが非表示になるので注意
3. 特定のActivityでActionBarを非表示にする
AndroidManifestでActivityのスタイルを、Theme.AppCompat.Light.NoActionBar
にする。
AndroidManifest.xml
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
- <activity android:name=".MainActivity">
+ <activity android:name=".MainActivity"
+ android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
これは指定したActivityのみActionBarを隠せる
4.プログラムでActionBarを非表示にする
ActivityのonCreate
で直接ActionBarを隠すメソッドを呼ぶ
MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
+ supportActionBar!!.hide()
}
あまりイケてない方法でもある。