Android 全屏界面切换到非全屏界面的问题

第一种方法:

参考链接https://blog.csdn.net/u013011318/article/details/48296869

由闪屏进入引导页 ,全屏到非全屏的 切换时会出现  界面下移的情况

解决办法

Google之后,找到下面这个链接: 
Switching from Full Screen to Non Full Screen Smoothly in Android 
然而当在切换之后的activity是继承自AppCompatActivity 或者 ActionBarActivity时是有bug的,ActionBar会上移到状态栏,后来研究了一下,给出我自己的解决方案。 
主要的代码如下:

private void smoothSwitchScreen() {
        // 5.0以上修复了此bug
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            ViewGroup rootView = ((ViewGroup) this.findViewById(android.R.id.content));
            int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
            int statusBarHeight = getResources().getDimensionPixelSize(resourceId);
            rootView.setPadding(0, statusBarHeight, 0, 0);
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
            }
    }

该方法在切换之后的那个activity的setContentView() 方法之前调用,就可以解决全屏切换到非全屏的问题

第二种方法:

在在全面屏中   startActivity之前先 退出全面屏

window.setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN)
finish()
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值