先直接上代码:
第一步:
自定义style ,一般也设置闪屏页面为竖屏.
android:theme="@style/splashtheme"
android:screenOrientation="portrait">
/>
第二步:
在res/values/styles中自定义的splashtheme设置parent为 android:Theme.NoTitleBar.Fullscreen,并设置windowBackground图片
@drawable/splash_logo
@style/Animation
注意:
设置属性是windowbackground不是background否则会显示混乱
白屏和黑屏闪现原因分析:
若设置logo图片在activity_splash.xml文件中,在启动Splash_Activity执行setContentView(R.layout.activity_splash);渲染完成后才能看到logo图片,而显示这个张图片前会默认加载application 的主题样式android:theme=@style/AppTheme 的主题导致.
拓展:
application下有一个默认主题
android:theme=”@style/AppTheme”
按住ctrl点击去找到AppTheme找到AppTheme,在里面添加属性windowBackground,代码如下
@drawable/mybackground
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
试验发现开启app的时候仍然会闪现我们的logo图片,但是进入activity后,你会发现所有的acitivity都是一样的图片背景,如果设置acitivity自己的theme,就不会用该图片背景.