Things take time

[Android] 액션바 제거, 상태바 설정 본문

Android(기능)

[Android] 액션바 제거, 상태바 설정

겸손할 겸 2017. 7. 31. 18:15

[액션바]


앱을 실행하면 앱 이름이 뜨는 바, 앱 화면의 가장 맨 위(시간, 날짜가 나오는 바 제외)에 나온다. 이 부분을 액션바 부분이라고 하는데 이 부분을 사용하지 않고 보통 커스터마이징한 툴바 등을 사용할 수 있다.


세팅하는 곳은 style.xml부분이다.

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary
        <item name="colorPrimaryDark">@color/colorPrimaryDark
        <item name="colorAccent">@color/colorAccent
    </style>

위의 코드는 액션바를 제거한다는 소스다. AppTheme이란 값을 갖고있는 스타일이 액션바 부분을 설정하는 부분이란 것을 참고할 것.

style.xml에서는 공통적은 테마를 설정하는 곳이다. 위 처럼 노액션바를 설정하면 모든 스타일을 공통적으로 사용하는 액티비티에서는 액션바가 나오지 않는다.


만약, 기본적으로는 액션바를 사용하되, 특정 액티비티에서만 액션바를 가리고 싶다면, 위의 방법보다는 각 액티비티 클래스 파일에 작성하는 것이 좋다.

       if (Build.VERSION.SDK_INT >= 21) {
            getSupportActionBar().hide();
        } else if (Build.VERSION.SDK_INT < 21) {
            requestWindowFeature(Window.FEATURE_NO_TITLE);
        }


[상태바]


여기서 상태바는 시간, 날짜, 데이터 등이 나오는 앱을 넘어 화면의 가장 최상단을 의미한다. 그 부분의 색상을 변경하는 방법이다.

 if (Build.VERSION.SDK_INT >= 21) {
            Window window = getWindow();
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.setStatusBarColor(Color.parseColor(value));
        }