说到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添加一个新的主题。
< !-- 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(); }
}
这样我们就简单的完成了启动页的制作。
共同学习,写下你的评论
评论加载中...
作者其他优质文章