原文链接: http://blog.csdn.net/shengyakun1/article/details/54174893

 

(吐槽一下原文排版好难看. 所以我自己调整了下~)

 

Android 部分机型没有物理按键,只有虚拟按键,Activity全屏方法如下:

1、在这句

 

setContentView(R.layout.activity_main);

 

之前添加

 

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

 

2、当用户划出虚拟按键后,自动再隐藏方法如下:

 

getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() {    @Override    public void onSystemUiVisibilityChange(int visibility) {        int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE |                //布局位于状态栏下方                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |                //全屏                View.SYSTEM_UI_FLAG_FULLSCREEN |                //隐藏导航栏                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;        if (Build.VERSION.SDK_INT >= 19) {            uiOptions |= 0x00001000;        } else {            uiOptions |= View.SYSTEM_UI_FLAG_LOW_PROFILE;        }        getWindow().getDecorView().setSystemUiVisibility(uiOptions);    }});

 

3、dialog 隐藏方法

 

 

mDialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);mDialog.getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() {    @Override    public void onSystemUiVisibilityChange(int visibility) {        int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE |                //布局位于状态栏下方                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |                //全屏                View.SYSTEM_UI_FLAG_FULLSCREEN |                //隐藏导航栏                View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;        if (Build.VERSION.SDK_INT >= 19) {            uiOptions |= 0x00001000;        } else {            uiOptions |= View.SYSTEM_UI_FLAG_LOW_PROFILE;        }        mDialog.getWindow().getDecorView().setSystemUiVisibility(uiOptions);    }});

 

要在mDialog.show();之前。

 

 

我用上面的方法解决了这一问题.有个地方注意下:

3、dialog 隐藏方法   里原作者使用的全屏设置,效果是弹出dialog时原来的页面会变为全屏,我不需要该功能,所以把

 

View.SYSTEM_UI_FLAG_FULLSCREEN |

这一句给去了就可以了.

 

记录下这个问题.
 

更多相关文章

  1. Android软键盘弹出时把布局顶上去的解决方法
  2. Android drawArc方法介绍
  3. Android应用程序永久获取root权限方法
  4. android中上层是如何接收按键事件的
  5. Android4.0和Android4.1全屏方法
  6. Android 界面开发---控件事件监听器、按键处理
  7. Android SDK更新失败的解决方法

随机推荐

  1. Android中RadioGroup的初始化和简单的使
  2. android的莫名其妙的事
  3. 模拟实现android 文件管理器功能(循环打开
  4. Android问题集锦转载之一:解决Android(安
  5. Android多语言切换
  6. android平台6410背光修改
  7. Android如何关联rxJava和lifecycle,避免内
  8. Android(安卓)Studio For Mac 启动模拟机
  9. Android下保存简单网页到本地(包括简单图
  10. 安卓 屏蔽子控件点击事件