2016-08-13 3 views
0

내 응용 프로그램에서 상태 표시 줄을 숨기려고합니다. 나는 C# 및 Xamarin을 사용하여 응용 프로그램을 작성하고 있습니다. 응용 프로그램에서 상태 표시 줄 숨기기

는 나는 내가 활동 한 OnCreate 방법에서 호출 다음과 같은 방법이 있습니다

private void hideBars() 
    { 
     var decorView = this.Window.DecorView; 
     int uiOptions = (int)Android.Views.SystemUiFlags.LayoutStable | 
         (int)Android.Views.SystemUiFlags.LayoutHideNavigation | 
         (int)Android.Views.SystemUiFlags.Fullscreen | 
         (int)Android.Views.SystemUiFlags.ImmersiveSticky; 
     decorView.SystemUiVisibility = (Android.Views.StatusBarVisibility)uiOptions; 

     ActionBar.Hide(); 
    } 

잘 작동 - 상태 표시 줄이 숨겨져 있지만, 아래로 슬쩍 할 수 처음으로 응용 프로그램로드가 예상대로 때 .

다른 앱으로 전환 한 다음 원래 앱을 다시 시작하면 소프트 키보드와 마찬가지로 상태 표시 줄이 표시됩니다. 상태 표시 줄 (및 소프트 키보드)을 만들기와 마찬가지로 이력서에 숨기고 싶습니다. 다음과 같은 방법이 있습니다 :

protected override void OnResume() 
    { 
     base.OnResume(); 
     hideBars(); 
    } 

그러나 상태 표시 줄 (및 키보드)은 여전히 ​​앱 재개시 나타납니다.

그 밖의 무엇을해야합니까?

답변

0
Window.AddFlags(WindowManagerFlags.Fullscreen); 
Window.ClearFlags(WindowManagerFlags.ForceNotFullscreen); 

이것은 끈적 거리는 침수에 관한 android developer docs에서 온 것입니다.

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
     super.onWindowFocusChanged(hasFocus); 
    if (hasFocus) { 
     decorView.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);} 
} 
+0

그건 도움이되지 않았다 ... – JeffR

+0

나는 당신도 목표로 API 레벨 12를 사용해야한다고 생각한다. 당신은 레벨 14를 사용해야하므로 왜 작동하지 않는지 알 수는 없다. –

+0

당신은 이미 decorView 변수로 윈도우를 선언했기 때문에. "Window"대신 사용하거나 시도해보십시오 .Window –

관련 문제