Android实现秒开效果

0x01 创建SplashActivity

新建一个Activity,取名为SplashActivity


0x02 新建资源

res/drawable下新建一个splash.xml文件和名为ig_splash的图片

splash.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <!-- 图片 -->
        <!-- gravity也可以为“center”,具体看效果而定 -->
        <bitmap
            android:gravity="fill"
            android:src="@drawable/ig_splash" />
    </item>
</layer-list>

0x03 设置主题

设置主题

values/styles里面添加如下

<style name="SplashTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowBackground">@drawable/splash</item>
    <item name="android:windowFullscreen">true</item>
</style>

0x04 修改AndroidManifest.xml

AndroidManifest.xml中,修改SplashActivity的theme为SplashTheme,并把它设为启动activity(同时记得取消MainActivity为启动activity)

<activity
          android:name=".activity.SplashActivity"
          android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <!-- 加下面这句可以消除一些警告 -->
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

0x05 修改SplashActivity.java

修改SplashActivity.java

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        startActivity(new Intent(this, MainActivity.class));//启动完主Activity就finish
        finish();
    }
}

0x06 验证效果

这时候启动app就有秒开启动图的效果

原文地址:https://www.cnblogs.com/tanyiqu/p/14168207.html