【问题标题】:super.onCreate crashes after defining custom splash screen style to Activity?super.onCreate 在为 Activity 定义自定义启动屏幕样式后崩溃?
【发布时间】:2015-01-04 19:16:19
【问题描述】:

我想在我的应用程序中添加一个 SplashScreen,并对此进行了一些研究。一些教程说您可以创建一个活动并使用一些计时器将其显示几秒钟。我无法让它们工作,然后在此页面How do I make a splash screen? 中,第二个投票最多的答案说不是显示活动(因此不会替代白色/黑色启动加载屏幕,而是会增加更多延迟)相反,您应该创建自定义样式并将其分配给清单文件中的活动。我这样做了,创建了一个这样的新样式:

<style name="splashScreenTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/launchscreen</item>
</style>

在 styles.xml 中并将我的 Manifest 更改为:

    <application
    android:name=".EFBApp"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivityDrawer"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@style/splashScreenTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

当我运行我的应用程序时,我可以完美地看到启动屏幕,但随后它崩溃了。通过断点,我发现当 MainActivityDrawer (我的主类)到达 super.onCreate(savedInstanceState);行然后崩溃(它进入 ZygoteInit.java 类,然后在断点调试时崩溃)。如果我去掉 Manifest 中的 android:theme 行,它可以正常工作,但在启动时会显示可怕的纯白屏幕。有什么建议或想法吗?非常感谢。

【问题讨论】:

  • 发布logcat,创建一个启动画面可能只是一个等待移动到下一个屏幕的好布局,但是发布logcat和一些相关代码,但如果你已经解决了那就没问题了跨度>

标签: android styles splash-screen oncreate


【解决方案1】:

好的,所以我设法让它不会崩溃,而不是将父级分配为 Theme.AppCompat.NoActionBar,我只使用了 AppTheme,它现在可以工作了。我希望这对任何人都有帮助。

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 2015-11-15
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多