이 과정에서는 앱이 알림을 받을 수 있도록 리스너를 등록하는 방법을 설명합니다. 시스템 UI 가시성 변경사항에 대해 알아봤습니다 이 기능은 시스템 표시줄의 숨기기/표시와 UI의 다른 부분을 동기화합니다.
리스너 등록
시스템 UI 가시성 변경에 대한 알림을 받으려면
뷰에 View.OnSystemUiVisibilityChangeListener
추가
이때 뷰는 일반적으로 탐색 가시성을 제어하는 데 사용하는 뷰입니다.
예를 들어, 액티비티의
onCreate()
메서드:
Kotlin
window.decorView.setOnSystemUiVisibilityChangeListener { visibility -> // Note that system bars will only be "visible" if none of the // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set. if (visibility and View.SYSTEM_UI_FLAG_FULLSCREEN == 0) { // TODO: The system bars are visible. Make any desired // adjustments to your UI, such as showing the action bar or // other navigational controls. } else { // TODO: The system bars are NOT visible. Make any desired // adjustments to your UI, such as hiding the action bar or // other navigational controls. } }
자바
View decorView = getWindow().getDecorView(); decorView.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUiVisibilityChange(int visibility) { // Note that system bars will only be "visible" if none of the // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set. if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { // TODO: The system bars are visible. Make any desired // adjustments to your UI, such as showing the action bar or // other navigational controls. } else { // TODO: The system bars are NOT visible. Make any desired // adjustments to your UI, such as hiding the action bar or // other navigational controls. } } });
일반적으로 시스템 표시줄의 변경사항과 UI의 동기화를 유지하는 것이 좋습니다. 가시성을 제공합니다 예를 들어, 이 리스너를 사용하여 상태 표시줄이 숨겨지고 표시됩니다.