Programming/Android

[Android] 안드로이드 전체 화면 사용하기 - 상태바, 액션바 숨기기, 제거하기 (Status Bar, Action Bar Hiding/Removing)

쌍쌍바나나 2016. 4. 17. 13:20
반응형

들어가며

  안드로이드 코딩을 하다보면, 전체 화면을 사용하고 싶을 때가 있다. 전체 화면을 사용하기 위해서는 상태바(Status Bar)와 액션바(Action Bar)를 숨기면 가능하다. 상태바 에 대해서 설명을 하면, 현재 노티, 시간, 배터리 레벨 등 현재 상태를 나타내는 바(bar)이다.  항상 우리에게 스마트폰의 현재 상태를 알려주고 있는 참 고마운 bar 이다. 뭔가... 바라고 쓰니까 어색하다. 액션바는 해당 앱의 이름이나, 버튼을 넣는데 사용한다.  그렇다면 게임, 미디어 재생시에는 상태바, 액션바를 볼 필요도 없고, 보고 싶지도 않다 나를 방해하는 요소가 있으면 집중을 떨어뜨리지... 자 그렇다면 현재 상태바, 액션바를 제거하려면 어떻게 해야할까?

구현하기

상태바를 제거하기 위해서는 버전에 따라 맞게 구현을 해줘야 한다. 
안드로이드 4.0을 포함한 그 아래의 버전에서는 아래와 같이 구현한다.

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // If the Android version is lower than Jellybean, use this call to hide
        // the status bar.
        if (Build.VERSION.SDK_INT < 16) {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
        setContentView(R.layout.activity_main);
    }
    ...
}


안드로이드 4.1을 포함한 그 이상의 버전에서는 아래와 같이 구현한다.

View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// Remember that you should never show the action bar if the
// status bar is hidden, so hide that too if necessary.
ActionBar actionBar = getActionBar();
actionBar.hide();

* 만약 actionBar가 Null Exception이 발생하면 getSupportActionBar()를 사용하면 된다.


실행결과


[그림 1] 상태바, 액션바가 포함 된 화면

[그림 2] 전체화면 사용하기 - 상태바, 액션바가 제거된 화면

[참고 사이트]
http://developer.android.com/intl/ko/training/system-ui/status.html#41

반응형