내 앱이 실제 전체 화면 (상태 표시 줄 없음, 동작 표시 줄 없음) 및 "일반 모드"(동작 표시 줄 및 상태 표시 줄) 사이를 전환하려고합니다. 이를 위해, 나는 오버레이 모드에서 작업 표시 줄을 설정 한 나는 사용자가 작업 표시 줄과 상태 표시 줄에 모두 전환 할 수 있습니다 :오버레이 동작 표시 줄 상태 표시 줄에 의해 가려진
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
actionBar.show();
이 꺼져 .. 그리고 :
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
actionBar.hide();
이를 한 가지 예외 만 제외하면 작동합니다. 실제 레이아웃은 이러한 작업 중 하나가 발생할 때마다 크기가 조정됩니다. 음, 또 다른 플래그가 단지에 대해 분명히 설명하기 위해 존재하고, 그래서 난 내 onCreate()
에 추가하지 :
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
확인을 이제 크기 조정하지만 지금은 내 작업 표시 줄이 반 상태에 가려 더 이상 문제입니다 바 모두에 때마다 : 내가 부족 뭔가
있습니까? 상태 표시 줄 바로 아래에 작업 표시 줄을 올바르게 표시하려면 어떻게합니까?
표시하고 숨길 수있는 플래그를 사용하는 이유 –
작동하지 않는 것 같습니다. 나는'decorView.setSystemUiVisibility (View.SYSTEM_UI_FLAG_FULLSCREEN)'을 사용해 보았지만 위에서 설명한 방법과 아무런 차이가없는 것 같다. 크기 조정에 영향을주는 유일한 플래그는'FLAG_LAYOUT_NO_LIMITS'이며, 이는 액션 바를 클리핑시킵니다. –