티스토리 뷰

요즘에는 핸드폰 디자인이 하단에 하드웨어로 키를 만들어두지 않고, 디스플레이 하단에 소프트키를 만든다.

 

게임, 영상재생등이 필요할 때에는 소프트키를 숨길 필요가 있다.

 

아래의 코드는 그럴 때 필요한 코드이다.

 

사용법은 간단하다. 아래의 코드를 onCreate에 넣으면 된다.

 

    private View 	decorView;
    private int	uiOption;
    
        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        decorView = getWindow().getDecorView();
        uiOption = getWindow().getDecorView().getSystemUiVisibility();
        if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH )
            uiOption |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
        if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN )
            uiOption |= View.SYSTEM_UI_FLAG_FULLSCREEN;
        if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT )
            uiOption |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;

        decorView.setSystemUiVisibility( uiOption );
    }

 

위와 같은 코드를 넣으면 해당 코드가 실행된 엑티비티에서는 몰입모드로 동작하게된다.

 

 

 

또 다른방법으로는 아래 코드를 그냥 원하는 엑티비티에 넣어주면 된다.

 

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
댓글
최근에 올라온 글
최근에 달린 댓글
250x250