说到Android的启动页,Google以前是把它作为反面教程来讲的,但是在材料设计规范里面,Google是支持开发者使用启动页的。这似乎好像有一点矛盾,但是新的建议和旧的建议都是站在一个角度来讲的,最好不要浪费用户的时间去打开没有用的界面,然而好多应用一开始启动都会花费一些时间,特别是第一次的时候,这个时候数据时第一次加载,大部分都会出现空白的页面,所以为了用户的友好体验,建议使用启动页。第一次应该是最慢的,但是第一次缓存以后,再次打开应该是非常快的。
找了一下网上的案例,大部分都会出现一些白屏或者黑屏的情况,然后就是设置一些透明的主题之类的。
这里带大家一起来实现一个简单高效的启动页。
首先我们来看一下效果:
这里写图片描述
首先在你的res/drawable文件夹下创建一个名为background_splash.的XML。
< ?xml version="1.0" encoding="utf-8"?> < layer-list xmlns:android="http://schemas.android.com/apk/res/android"> < item android:drawable="@color/gray"/> < item> < bitmap android:gravity="center" android:src="@drawable/girl"/> < /item> < /layer-list>
打开你的styles.xml然后为你的Activity添加一个新的主题。
<resources> < !-- Base application theme. --> < style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> < /style> < style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> < item name="android:windowBackground">@drawable/background_splash</item> < /style> < /resources>
然后在你的AndroidManifest.xml中配置一下就好了
< activity android:name=".SplashActivity" android:theme="@style/SplashTheme"> < intent-filter> < action android:name="android.intent.action.MAIN" /> < category android:name="android.intent.category.LAUNCHER" /> < /intent-filter> < /activity>
最后在你的SplashActivity里面加上如下代码:
public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent(this, MainActivity.class); startActivity(intent); finish(); } }
这样我们就简单的完成了启动页的制作。
欢迎start,欢迎评论,欢迎指正