티스토리 뷰
요즘에는 핸드폰 디자인이 하단에 하드웨어로 키를 만들어두지 않고, 디스플레이 하단에 소프트키를 만든다.
게임, 영상재생등이 필요할 때에는 소프트키를 숨길 필요가 있다.
아래의 코드는 그럴 때 필요한 코드이다.
사용법은 간단하다. 아래의 코드를 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);
}
}
'Web&App > 안드로이드' 카테고리의 다른 글
안드로이드 버튼 눌렸는지 확인하는 법 [getVisibility() ] (0) | 2020.05.28 |
---|---|
안드로이드 코드실행 지연, 늦추기 (원하는 타이밍에 실행) (0) | 2020.05.15 |
안드로이드 알람 만들기 (특정 시간에 소리 재생) MediaPlayer, AlertDialog (0) | 2020.04.28 |
안드로이드 스튜디오에서 핸드폰 해상도 dpi 확인 및 변경 1dp 계산 (0) | 2020.04.28 |
안드로이드 Room 사용 코드랩 ( SQLite 를 업그레이드? ) (0) | 2020.04.02 |
댓글