【问题标题】:I cant make my splash screen work, app crashes on start我无法让我的启动画面工作,应用程序在启动时崩溃
【发布时间】:2015-10-13 13:07:00
【问题描述】:

我的应用程序一开始就崩溃了。 logcat 指向这条线setContentView(R.layout.activity_splash);。我是 android 新手,现在已经将近两个小时了。

活动:

public class SplashActivity extends ActionBarActivity {

    /** Duration of wait **/
    private final int SPLASH_DISPLAY_LENGTH = 1000;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.activity_splash);

        /* New Handler to start the Menu-Activity
         * and close this Splash-Screen after some seconds.*/
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                /* Create an Intent that will start the Menu-Activity. */
                Intent mainIntent = new Intent(SplashActivity.this, LogInActivity.class);
                SplashActivity.this.startActivity(mainIntent);
                SplashActivity.this.finish();
            }
        }, SPLASH_DISPLAY_LENGTH);
    }





}

Xml 布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/splash"
        android:id="@+id/splash"
        />






</LinearLayout>

Logcat:

      10-15 13:24:43.576    1968-1968/com.softeleven.developers.medicalreptracker E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.softeleven.developers.medicalreptracker, PID: 1968
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.softeleven.developers.medicalreptracker/com.softeleven.developers.medicalreptracker.SplashActivity}: java.lang.RuntimeException: Failed to resolve attribute at index 24
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
     Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 24
            at android.content.res.TypedArray.getColor(TypedArray.java:401)
            at android.widget.TextView.<init>(TextView.java:696)
            at android.widget.TextView.<init>(TextView.java:632)
            at android.widget.TextView.<init>(TextView.java:628)
            at android.widget.TextView.<init>(TextView.java:624)
            at android.widget.Toolbar.setTitle(Toolbar.java:565)
            at com.android.internal.widget.ToolbarWidgetWrapper.setTitleInt(ToolbarWidgetWrapper.java:261)
            at com.android.internal.widget.ToolbarWidgetWrapper.setWindowTitle(ToolbarWidgetWrapper.java:243)
            at com.android.internal.widget.ActionBarOverlayLayout.setWindowTitle(ActionBarOverlayLayout.java:670)
            at com.android.internal.policy.impl.PhoneWindow.setTitle(PhoneWindow.java:475)
            at android.app.Activity.onTitleChanged(Activity.java:5101)
            at android.app.Activity.onPostCreate(Activity.java:1123)
            at android.app.Instrumentation.callActivityOnPostCreate(Instrumentation.java:1187)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
10-15 13:24:49.258    1968-1968/? I/Process﹕ Sending signal. PID: 1968 SIG: 9

样式.xml

<resources>

    <!-- Base application theme. -->

    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/ActionBar</item>
    </style>

    <style name="ActionBar" parent="android:Widget.ActionBar">
        <item name="android:background">@color/actionbar_color</item>
        <item name="android:icon">@android:color/transparent</item>
        <item name="android:titleTextStyle">@style/ActionBar.TitleText</item>
    </style>

    <style name="ActionBar.TitleText" parent="android:TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textSize">18sp</item>
    </style>

</resources>

【问题讨论】:

  • 请显示错误堆栈跟踪(日志)和activity_splash布局的内容
  • 如果你不发布抛出的异常,我们帮不了你。
  • 嘿有一个例外,但问题的格式不正确
  • 答案很明显...ActionBarActivity 不喜欢原生主题 ActionBar 已启用 - 正如在无数类似问题中所述...
  • logcat 更新了.. 你现在能帮帮我吗?

标签: android android-layout splash-screen


【解决方案1】:

更改您的代码。而不是

public class SplashActivity extends Activity

public class SplashActivity extends ActionBarActivity {

【讨论】:

  • 它不适用于 ActionBarActivity 或 Activity 类。
  • @WAQASARIF:你能把你的 style.xml 贴在这里吗?我希望你在 Main Activity 和 Login Activity 之前定义了 Splash Activity ?
  • 我上传了 style.xml 文件。
  • 你是否在 Manifest 中定义了 Splash 活动?
  • 使用
【解决方案2】:

在您的themes.xml 中尝试使用此配置:

<style name="MyTheme" parent="Theme.AppCompat">
    ...
</style>

<style name="MyTheme.NoActionBar">
    <!-- Both of these are needed -->
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

【讨论】:

  • 我选择的主题是Manifest主题Actionbar.titletext..我在开发应用程序后更改了它,我想问题出在这里,有什么解决方法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 1970-01-01
  • 2018-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多