解决进入启动页出现空白和进入下个界面出现布局下移

来源:互联网 发布:java js解析器 编辑:程序博客网 时间:2024/05/18 03:26

先来说下为什么会进入app出现一段空白,启动一个activity会先去加载它的theme,然后才去走onCreate()方法,进入oncreate()才会去显示布局,所以走到onCreate()这里就需要一点时间,这就是为什么会出现空白的原因!

1 在style里面设置启动页的样式,在windowBackground上配置你本地的启动页图片

<!--启动页主题-->    <style name="AppTheme.NoActionBar.FullScreen">        <item name="android:windowFullscreen">true</item>        <item name="android:windowBackground">@drawable/background</item>    </style>

2 在manifest中你的启动页activity中引用这个theme

<activity            android:name=".activity.SplashActivity"            android:theme="@style/AppTheme.NoActionBar.FullScreen">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter> </activity>
运行app,进入启动页就不会出现空白的情况,但是当你设置windowFullscreen=true的时候,启动页完成进去下一个界面会出现下移的情况,这时候就需要解决这个问题,不然用户体验非常不好

3 在你的启动页activity中设置不需要全屏

 handler.postDelayed(new Runnable() {            @Override            public void run() {                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {                    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);                }                StartActivityUtil.startActivityFinish(SplashActivity.this, LoginActivity.class);            }        }, 1000);    }
再次运行app,完美解决问题!






阅读全文
0 0
原创粉丝点击