2016-08-13 4 views
0

Я пытаюсь скрыть строку состояния в своем приложении. Я использую C# и Xamarin для создания приложения.Скрыть строку состояния в приложении resume

я следующий метод, который я называю из деятельности 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

Я считаю, что вам необходимо использовать целевой уровень Апи 12. Вы должны использовать 14-й уровень, поэтому я не понимаю, почему он не работает. –

+0

Поскольку вы уже объявляете окно с переменной decorView. Попробуйте использовать это вместо «Window» или попытайтесь использовать this.Window –

Смежные вопросы