Android 隐藏虚拟按键

领导要求:

  • 横屏播放视频时,不展示虚拟按键;
  • 恢复到竖屏时,展示虚拟按键;
/*** NavigationBar 显示与隐藏*/
public class NavigationBarHelper {private Fragment fragment;private boolean mSystemUiVisibilityUpdated;// android 4.4 api19 及以上,记录竖屏时的SystemUiVisibilityprivate int mSystemUiVisibilityPortrait;public NavigationBarHelper(Fragment fragment) {this.fragment = fragment;}private View getDecorView() {if (fragment != null&& fragment.getActivity() != null) {return fragment.getActivity().getWindow().getDecorView();}return null;}public void beforeOrientationChange(boolean targetLandscape) {if (targetLandscape) {hideBottomMenu();} else {showBottomMenu();}}/*** 竖屏 显示虚拟按键*/private void showBottomMenu() {if (fragment != null && fragment.getActivity() != null) {View decorView = getDecorView();if (decorView != null) {if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB&& Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {decorView.setSystemUiVisibility(View.VISIBLE);} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && mSystemUiVisibilityUpdated) {// 恢复 竖屏时的SystemUiVisibilitydecorView.setSystemUiVisibility(mSystemUiVisibilityPortrait);mSystemUiVisibilityUpdated = false;}}}}/*** 横屏 隐藏虚拟按键*/private void hideBottomMenu() {if (fragment != null && fragment.getActivity() != null) {View decorView = getDecorView();if (decorView != null) {if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB&& Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {decorView.setSystemUiVisibility(View.GONE);} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {if (mSystemUiVisibilityUpdated) {return;}// 记录竖屏时的SystemUiVisibilitymSystemUiVisibilityPortrait = decorView.getSystemUiVisibility();// 隐藏虚拟按键int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY| View.SYSTEM_UI_FLAG_FULLSCREEN;decorView.setSystemUiVisibility(uiOptions);mSystemUiVisibilityUpdated = true;}}}}/*** 退出到后台 返回时*/public void onVideoResume() {if (fragment != null && fragment.getActivity() != null) {// 当前是横屏 播放视频if (fragment.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {View decorView = getDecorView();if (decorView != null) {if (Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB&& Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {decorView.setSystemUiVisibility(View.GONE);} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {// 隐藏虚拟按键int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY| View.SYSTEM_UI_FLAG_FULLSCREEN;decorView.setSystemUiVisibility(uiOptions);}}}}}
}

Android 隐藏虚拟按键相关推荐

  1. Android 隐藏虚拟按键,并且全屏

    /** * 隐藏虚拟按键,并且全屏 */protected void hideBottomUIMenu() { //隐藏虚拟按键,并且全屏 if (Build.VERSION.SDK_INT > ...

  2. Android隐藏虚拟按键

    直接在onCreate方法里面调用如下方法即可 protected void hideBottomUI() {int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STAB ...

  3. android隐藏虚拟按键的几种方式

    方式一: 该方式会隐藏底部虚拟按键,在屏幕底部上滑时显示,并且等一会消失 window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_ ...

  4. Android 隐藏虚拟按键和沉浸式状态栏

    private void hideNavigationBar() {Window window = this.getWindow();window.setFlags(WindowManager.Lay ...

  5. 安卓平板隐藏虚拟按键_如何隐藏 Android 下方的三个虚拟按键

    满意答案 RaulEP 2016.05.21 采纳率:54%    等级:5 已帮助:205人 Android 隐藏虚拟按键,可以使用谷歌官方提供的api里的SYSTEM_UI_FLAG_HIDE_N ...

  6. java游戏管理器虚拟按键_Android实现手机游戏隐藏虚拟按键

    手机游戏实现Android隐藏虚拟按键,供大家参考,具体内容如下 在华为等型号的手机会有虚拟按键,在进入游戏的时候,需要全屏隐藏这个按键,并在下拉状态栏的时候,会重新呼出虚拟按键. 游戏的加载过程中, ...

  7. java屏蔽虚拟按键代码_Android 中隐藏虚拟按键的方法实例代码

    下面通过一段代码给大家讲解android 隐藏虚拟按键的方法,废话不多说了,大家多多看看代码和注释吧,具体代码如下所示: /** * 隐藏虚拟按键,并且全屏 */ protected void hid ...

  8. Android 4.2虚拟按键背景透明,Android 4.0 隐藏虚拟按键(导航栏)的方法

    在Android4.0里,多了一些API,其中包括怎样隐藏虚拟按键(导航栏),这样编写游戏或一个视频播放器时,可以设置隐藏虚拟按键的参数,达到最佳效果,当然前提是使用的手机是有虚拟按键的,例如gala ...

  9. Android常见公有方法(隐藏虚拟按键/隐藏软键盘/获取屏幕宽高等)

    隐藏虚拟按键,并且全屏 使用: ScreenUtils.hideBottomUIMenu(getWindow().getDecorView()); /*** 隐藏虚拟按键,并且全屏*/public s ...

最新文章

  1. 当前上下文中不存在viewbag
  2. CCAI2018演讲实录 | 蒲慕明:脑科学与类脑机器学习
  3. AMD Zen 2新架构2018年初发布 再提升15%性能
  4. C++程序的执行过程
  5. dvwa如何打开_一篇文章让你搭建自己的Web安全测试平台(Dvwa)
  6. 高通固件解包IPQ6000固件解包
  7. Maven虐我千百遍,我待Maven如初恋
  8. 经典面试题(52):以下代码将输出的结果是什么?
  9. openwrt x86 登录不上_求助,关于OpenWRT外接硬盘不识别的问题
  10. 自旋锁spin : spin_lock_irq , spin_lock_irqsave
  11. BZOJ2366 : 多重历史
  12. 2017 ACM-ICPC乌鲁木齐网络赛 G. Query on a string(KMP+树状数组)
  13. 线搜索中有最速下降法、牛顿法、拟牛顿法、共轭梯度法汇总
  14. 同一批人做的产品,一年跟十年,产品质量不会有任何变化
  15. 实习三个月的地一个完整项目总结
  16. VISIO画立体图——VISIO画图技巧
  17. 计算机桌面常用图标,电脑常用软件图标 常用的电脑软件图标
  18. ThinkPad默认墙纸(心经版)
  19. unity3d游戏资源提取
  20. 3.2.CPU中的实模式

热门文章

  1. 服务器xp系统网页打不开网页,ie浏览器打不开网页,xp系统ie打不开网页-
  2. LIN雨量传感器:吉利雨量感应器拆解 MLX75308开发与应用
  3. Speed as a Habit(让速度成为一种习惯)
  4. mysql将数字月份替换成文月份_mysql必知必会--使用数据处理函数
  5. 安装PL-2303驱动
  6. Linux运维工程师综合面试题
  7. CSDN问答标签技能树(一) —— 基本框架的构建
  8. 大数据分析师工资待遇
  9. xpath定位元素详解
  10. mysql5.7 1698 28000_MySqlError1698(28000)问题的解决方法