欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

学习笔记

程序员文章站 2022-03-29 17:53:40
覃某人的学习笔记(第一天)安卓开发,关于横屏与全屏显示今天遇到一个需求,需要在全屏的情况下进行界面设计。横屏横屏很简单,只用一句。//横屏显示 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);全屏显示全屏显示意味着需要隐藏掉状态栏和虚拟按键。这里我通过搜索引擎找到了解决方法。 //去掉Activity上面的状态栏 getWindow().setFlags(WindowManager.La...

覃某人的学习笔记(第一天)

安卓开发,关于横屏与全屏显示

今天遇到一个需求,需要在全屏的情况下进行界面设计。

横屏

横屏很简单,只用一句。

//横屏显示
    	setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

全屏显示

全屏显示意味着需要隐藏掉状态栏和虚拟按键。
这里我通过搜索引擎找到了解决方法。

 //去掉Activity上面的状态栏
   getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
 //去掉虚拟按键全屏显示
  getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

但是这样还是不行,当我滑动出虚拟按键时,他无法再隐藏。出现这样的情况可以加上。

protected void hideBottomUIMenu() {
        //隐藏虚拟按键,并且全屏
        if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
            View v = this.getWindow().getDecorView();
            v.setSystemUiVisibility(View.GONE);
        } else if (Build.VERSION.SDK_INT >= 19) {
            //for new api versions.
            View decorView = getWindow().getDecorView();
            int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
            decorView.setSystemUiVisibility(uiOptions);
        }

加上这段代码就可以避免这个情况,通过我简单的测试还是发现了一个小问题。当我进入程序点击Home键再次点击app时,虚拟按键还是出现了,而且无法隐藏。这里就关乎到Active的一个生命周期的问题了,所以我们要在onstar这个生命周期中,再次调用上述的隐藏方法即可。

本文地址:https://blog.csdn.net/qq_48204632/article/details/107468610

相关标签: 安卓基础