我如何像Snapchat和其他应用程序一样更快地加载启动屏幕

时间:2018-08-13 22:08:30

标签: android

我在Android Studio上的启动屏幕先加载灰色背景,然后再进入启动屏幕,然后进入主活动。

我如何使灰色装载机成为启动屏幕?

2 个答案:

答案 0 :(得分:1)

也许您已经在oncreate()方法中做了很多编程工作。保持最小。查看此有用的初始屏幕教程:http://tusharpatil.com/blog/how-to-implement-splash-screen-in-android-java/

答案 1 :(得分:0)

您的飞溅活动很可能很重。您可以添加一个非常小的活动,然后将其转发到较大的启动活动

public class Splash extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, SplashActivity.class);
        startActivity(intent);
        finish();
    }
}

将该活动用作AndroidManifest.xml中的启动意图

<activity
    android:name=".view.splash.Splash"
    android:screenOrientation="portrait"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

此外,在styles.xml中为启动转发活动创建一个主题。

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimaryDark">@color/colorAccent</item>
    <item name="android:windowBackground">@color/colorAccent</item>
</style>

在这里,我仅将强调色用于与以下启动活动匹配的背景,以便于转换。这样可以避免出现灰色情况。还有其他替代方案,例如Tushars解决方案,但这在我的用例中有效

希望这会有所帮助