博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 全屏相关操作
阅读量:6082 次
发布时间:2019-06-20

本文共 2405 字,大约阅读时间需要 8 分钟。

1.隐藏标题栏(titlebar)

  (1)在代码中隐藏标题栏

requestWindowFeature(Window.FEATURE_NO_TITLE);

  (2)在Manifest中Application或Activity中配置主题样式

android:theme="@android:style/Theme.NoTitleBar"

2.隐藏状态栏(statusbar)

  (1)在Manifest中Activity中配置主题样式

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

  (2)在代码中隐藏状态栏

/**     * 隐藏状态栏     */    private void hideStatusBar() {        //定义全屏参数        int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN;        //获得当前窗体对象        Window window = MainActivity.this.getWindow();        //设置当前窗体为全屏显示        window.setFlags(flag, flag);    }

3.隐藏导航栏(NavigationBar)

  /**     * 隐藏导航栏,可返回     */    private void hideNavigationBarCanBack() {        View decorView = getWindow().getDecorView();        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION                | View.SYSTEM_UI_FLAG_FULLSCREEN;        decorView.setSystemUiVisibility(uiOptions);    }

4.同时隐藏状态栏和导航栏

/**     * 隐藏导航栏     */    public void hideNavigationBarAndStatusBar() {        int uiFlags = 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 // hide nav bar                | View.SYSTEM_UI_FLAG_FULLSCREEN; // hide status bar        if (android.os.Build.VERSION.SDK_INT >= 19) {            //SYSTEM_UI_FLAG_IMMERSIVE_STICKY: hide navigation bars - compatibility: building API level is lower thatn 19, use magic number directly for higher API target level            uiFlags |= 0x00001000;        } else {            uiFlags |= View.SYSTEM_UI_FLAG_LOW_PROFILE;        }        getWindow().getDecorView().setSystemUiVisibility(uiFlags);    }

5.动态全屏与退出

/**     * 动态设置全屏     */    private void dynamicFullScreen(){        WindowManager.LayoutParams attrs = getWindow().getAttributes();        attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;        getWindow().setAttributes(attrs);        getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);    }    /**     * 动态退出全屏     */    private void dynamicExitFullScreen(){        WindowManager.LayoutParams attrs = getWindow().getAttributes();        attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);        getWindow().setAttributes(attrs);        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);    }

 

转载于:https://www.cnblogs.com/pillowzhou/p/4897334.html

你可能感兴趣的文章
使用Maven搭建SpringMVC项目
查看>>
Nginx学习之三:对应平台的Nginx下载和安装
查看>>
IPv4地址
查看>>
全局探色器
查看>>
shell入门1
查看>>
dialog
查看>>
Golang HTTP请求代理
查看>>
大麦网疑遭“脱裤” 600余万用户信息被售卖
查看>>
Hive Export和Import介绍及操作示例
查看>>
http://mongoexplorer.com/ 一个不错的 mongodb 客户端工具。。。
查看>>
coreseek使用
查看>>
Deployment Groups Object Number
查看>>
面试题
查看>>
Xcode 4.3 使用xcodebuild命令编译项目环境设置
查看>>
大数据时代汽车行业CRM营销-李晓明,勒卡斯
查看>>
章文嵩-构建云计算平台的实践
查看>>
Sql delete 语句时表别名写法
查看>>
EGOTextView
查看>>
redis监控客户端redis-cli
查看>>
hibernate中拦截器与事件监听器的区别
查看>>