Android 隐藏虚拟按键

May 8, 2014

Android

在Android 3.0 以后,很多设备上的底部的按键被放在了显示屏的底部而不是以物理按键的形式存在了。虚拟按键占用了一定的屏幕位置,在游戏或者全屏视频的时候,我们期望这个虚拟按键能够消失掉。

View.setSystemUiVisibility(int) 这个方法可以帮助你完成这个工作。实际测试了一下,只要当前 View 里的任何子View 调用这个方法都能实现这个功能。

要实现虚拟按键隐藏,参数应该传 View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 。

如果是 View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION ,虚拟按键没有消失掉,但是虚拟按键已经不占用屏幕的面积了,它会浮动在最上层,你的 layout 的宽高就可以获得和屏幕实际一样的宽高了。

View.SYSTEM_UI_FLAG_LOW_PROFILE ,三个物理按键会变成三个小点点。

默认的,如果点击屏幕的话,虚拟按键会再次出现,但是可以想办法让虚拟按键不再出现,或者再次隐藏它。当然,肯定有某些动作你是阻止不了的,虚拟按键还是会在某些你 handle 不了的情况下出现的,不然用户就得崩溃了。

--- EOF ---

评论

  1. 博主,有什么方法能在点击屏幕时 不让那个按键出现的,每次都出现很不友好的!

    1. 这个我没有细看过,你可以试试在获取到点击事件后,再次隐藏掉。
      其实应该是可以做到的,我忘了是哪款应用,阅读类的应用,点击屏幕的时候翻页,虚拟按键没有浮动出来。只有当用户从屏幕最下方滑入屏幕的时候,才会出现虚拟按键。

添加新评论