앱에서 ActionBar, StatusBar 감추기

이번 포스팅에서는 앱에 표시되는 ActionBar와 StatusBar를 감추는 법에 대해 알아보도록 하겠습니다.

화면에 보시면 타이틀이 표시되는 창을 TitleBar 혹은 ActionBar라고 합니다. StatusBar는 화면 맨 위에 배터리나 와이파이 연결상태등을 보여주는 부분을 가리킵니다. 이 ActionBar와 StatusBar는 디자인적으로 필요가 없을 경우 표시되지 않게 할 수 있는데요, 그 방법을 알아보겠습니다.

# ActionBar 삭제

ActionBar 표시를 없애는 방법은 몇가지가 있습니다. 우선은 테마를 이용하는 방법입니다. res->value->theme.xml 파일을 열어 상속받도록 parent에 설정한 테마 중 NoActionBar가 붙은 테마를 사용하면 액션바가 표시되지 않게 됩니다.

두번째는 테마 속성을 사용하는 방법입니다. 테마는 편집을 할 수도 있기 때문에 상속받는 테마는 그대로 두고 타이틀바 속성만 다음과 같이 비활성화해 줍니다.

1
2
3
4
5
6
<resources xmlns:tools="http://schemas.android.com/tools">
    <style>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
</resources>

마지막으로 액티비티에서 ActionBar를 없애는 방법입니다. ActionBar의 참조를 가져와서 hide명령을 실행하기 위해 다음과 같이 코드를 추가하여 줍니다.

1
2
3
4
5
6
7
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {

        val actionBar: ActionBar? = supportActionBar
        actionBar?.hide()
    }
}

# StatusBar 삭제

StatusBar는 다음과 같이 themes.xml의 속성을 해제시켜서 표시되지 않게 할 수 있습니다.

1
2
3
4
5
<resources xmlns:tools="http://schemas.android.com/tools">
    <style>
       <item name="android:windowFullscreen">false</item>
    </style>
</resources>

두번째 방법은 액티비티에서 설정하는 방법입니다. theme에서 한 설정을 코드로 해준다고 생각하시면 됩니다.

1
2
3
4
5
6
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
    window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)

    }
}

이렇게 해서 ActionBar와 StatusBar의 표시를 없애는 방법에 대해 알아보았습니다.

Built with Hugo
Theme Stack designed by Jimmy