갤럭시 s8 의 이상한 기능
- 갤럭시 s8 에서 특정 설정을 하면 소트키가 항상 숨겨지는 모드가 존재 해서 내가 추가한 내용은 아니지만 마치 이머시브 모드 처럼 동작 하는 현상
- 애플리케이션 개발 중에는 몰라도 될거 같지만 막상 개발하다 보면 알아야 도움 되는 내용입니다.
- 알아야 하는 내용
- 애플리케이션 시작시 소프트키가 활성화 되어 있는지 체크 해야 하는부부
- 에플리케이션 실행 중 변경 되는 내용 이렇게 2가지 경우가 있습니다.
- 애플리케이션 시작하면서 확인 하는 코드
- enable 가 0 보다 크면 소프트 키가 안보이는 상태 입니다.
var enable = 0 try { enable = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { Settings.Global.getInt(activity.contentResolver, "navigationbar_hide_bar_enabled") } else { -1 } }catch (e: Exception){ }
- 런타임에서 리스너로 확인 하는 방법
- arg 가 2일때 소프트 키가 안보이는 상태 입니다.
val decorView = activity.window.decorView decorView.setOnSystemUiVisibilityChangeListener {arg -> log.d("Current arg: " + arg) if(arg == 2){ //TODO 소포트키 안보임 }else{ //TODO 소포트 보임 } }