안드로이드

안드로이드 다이얼로그 띄을 때 statusBar(생태표시줄), navigationBar(하단 소프트바) 가리기

알통몬_ 2020. 11. 6. 12:47
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^


글쓴이 후원.

카카오뱅크 예금주 : 박성균

3333-03-4836828

 


다이얼로그 띄울 시 아무것도 하지 않으면 상태표시줄과 하단 네비게이션바가

사라지지 않고 보이게 되는데 가리고 싶을 경우가 있다.

이 경우 상태표시줄과 하단 네비게이션바를

가리고 싶을 때 사용할 수 있는 방법을 소개한다.


방법은 굉장히 간단한데 dialog의 show() 메소드를 오버라이딩하면된다.

override fun show() {
window?.setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)
window?.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM or WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

val flag = (View.SYSTEM_UI_FLAG_LOW_PROFILE
or View.SYSTEM_UI_FLAG_FULLSCREEN
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)
window?.decorView?.systemUiVisibility = flag
super.show()
window?.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)
}


끝.

반응형