大家都知道:默认情况下,Android App在点击App logo到App完全启动这之间会有一段时间空白期,具体wait时间根据你应用而定。那么如何做到在用户点击logo图标之后立即打开App的界面而不是一段白屏或黑屏呢?你可以给SplashActivity设置background。具体做法如下:
第一步:在style.xml添加以下代码:
<style name="AppTheme.Launcher.BG" parent="Theme.AppCompat.Light.NoActionBar.FullScreen"> <item name="android:windowBackground">@mipmap/app_launcher_bg</item> <item name="android:windowAnimationStyle">@style/fade</item></style>
定义的AppTheme.Launcher.BG继承自Theme.AppCompat.Light.NoActionBar.FullScreen是为了让她实现全屏,其中的android:windowBackground则是你想在app启动时显示的图片了,而android:windowAnimationStyle则是SplashActivity的动画,这个自己实现了。
第二步:在AndroidManifest.xml中为SplashActivity设置theme
第三步:在SplashActivity中实现数据初始化并跳转到MainActivity
public class SplashActivity extends AppCompatActivity{ protected void onCreate(Bundle savedInstanceState) { setTheme(R.style.AppTheme); super.onCreate(savedInstanceState); //数据初始化 //加载广告 //跳转到MainActivity }}
记得在SplashActivity中调用setTheme的代码,设置没有背景的其它主题。不然你app的内存会一起偏高
本文转载自:http://www.jianshu.com/p/e70bb9877035