Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ICS隐藏系统栏_Android - Fatal编程技术网

Android ICS隐藏系统栏

Android ICS隐藏系统栏,android,Android,我试图隐藏/最小化Android 4.0.3中的系统栏。现在我正在做什么 getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 在我的活动的onCreate事件中。一旦用户触摸屏幕,该条将再次显示。根据其他STO线程,这种行为是无法避免的。 我的想法是捕捉视图中的任何触摸事件,并在显示后立即重新隐藏该条。在click处理程序中运行上面显示的代码没有效果。 如何实现(几乎不)隐

我试图隐藏/最小化Android 4.0.3中的系统栏。现在我正在做什么

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
在我的活动的
onCreate
事件中。一旦用户触摸屏幕,该条将再次显示。根据其他STO线程,这种行为是无法避免的。 我的想法是捕捉视图中的任何触摸事件,并在显示后立即重新隐藏该条。在click处理程序中运行上面显示的代码没有效果。
如何实现(几乎不)隐藏条

我不会谈论“为什么”,只会谈论“如何”:)

那么,关于

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
这不会影响使用系统栏而不是单独导航的平板电脑设备 和状态栏

在平板电脑上,您可以尝试(API级别14以后)

要检测事件,我认为您可以使用此来捕获事件:

myView.setOnSystemUiVisibilityChangeListener(
   new OnSystemUiVisibilityChangeListener()
      {
      public void onSystemUiVisibilityChange(int visibility)
      {
         if (visibility == View.SYSTEM_UI_FLAG_VISIBLE) {
            // TODO whatever you want
         }
         else {
            // TODO what to do in the other case
         }
      }
   }
);
更一般地说,这里是来自“专业Android 4应用程序开发”的额外建议

通常,在您的系统中同步其他更改是一种良好的做法 具有导航可见性更改的UI。例如,您可以选择 隐藏和显示操作栏和其他导航控件的步骤 基于进入和退出“全屏模式”。您可以通过 将OnSystemMivibilityChangeListener注册到视图- 通常,用于控制导航可见性的视图


.

你不能隐藏它,但你可以简单地禁用它,除了home。尝试使用SYSTEM\u UI\u FLAG\u LOW\u PROFILE可调暗系统栏,使用
onWindowFocusChanged()
可获取焦点并将其折叠。

它会影响平板电脑设备。在第一次触摸之前,系统栏一直处于隐藏状态。
myView.setOnSystemUiVisibilityChangeListener(
   new OnSystemUiVisibilityChangeListener()
      {
      public void onSystemUiVisibilityChange(int visibility)
      {
         if (visibility == View.SYSTEM_UI_FLAG_VISIBLE) {
            // TODO whatever you want
         }
         else {
            // TODO what to do in the other case
         }
      }
   }
);