全屏跳转到非全屏Activity的问题

本文探讨了APP从全屏切换到非全屏时状态栏出现的抖动问题,并提供了一种解决方案,即在跳转前取消全屏设置,确保状态栏平滑过渡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直以来,绝大多数APP都会有一个全屏的闪屏页面,若干秒之后跳转到非全屏界面。然而最近发现一个问题,很多app也一直存在,只是从来没在意看过,就没发现。

效果图

这里写图片描述

可以看到第二个界面发生了状态栏抖动的情况。其实不在意,有时候真的看不出来什么。但是既然发现了就要解决。

刚开始也没什么好的方法,首先想到的就是网上搜索。看了很多方案,确也没有一个完美的方法。

全屏界面是刚进入的时候设置了全屏,没了状态栏,进入非全屏,状态栏肯定要显示,于是乎就发生了抖动的现象,这里采用的就是跳转之前退出全屏,这就才能保证状态栏不抖动。

效果图2

这里写图片描述

在仔细看状态栏,是不是发生了变化。

说明:这种方案虽然算不上完美,但较其他的方法来比较,也不失为一种好的解决方法吧。

如果谁有更好的方案,欢迎说一下,学习学习。

相关代码

全屏

  getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

非全屏

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btn:
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
                startActivity(new Intent(MainActivity.this, Seond.class));
                break;
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值