Android应用程序错误应用程序在安装时崩溃

时间:2017-06-15 07:48:23

标签: java android xml

Logcat文件: -

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.nxtgendataingestion/com.example.android.nxtgendataingestion.SplashScreen}: java.lang.IllegalArgumentException: Unknown color
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2423)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483)
    at android.app.ActivityThread.access$900(ActivityThread.java:153)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5438)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
Caused by: java.lang.IllegalArgumentException: Unknown color
    at android.graphics.Color.parseColor(Color.java:226)
    at com.example.android.nxtgendataingestion.SplashScreen.onCreate(SplashScreen.java:24)
    at android.app.Activity.performCreate(Activity.java:6303)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376)
    ... 9 more

SplashScreen.java: -

package com.example.android.nxtgendataingestion;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

import gr.net.maroulis.library.EasySplashScreen;

public class SplashScreen extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EasySplashScreen config = new EasySplashScreen(SplashScreen.this)
                .withFullScreen()
                .withTargetActivity(MainActivity.class)
                .withSplashTimeOut(5000)
                .withBackgroundColor(Color.parseColor("#ebedef"))
                .withHeaderText("WELCOME")
                .withAfterLogoText("Tour Guide App");
        //Set Text Color
        config.getHeaderTextView().setTextColor(android.graphics.Color.parseColor("#239b56f"));
        config.getAfterLogoTextView().setTextColor(android.graphics.Color.parseColor("#239b56f"));
        View view = config.create();
        setContentView(view);


    }
}

成绩档案: -

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.example.android.nxtgendataingestion"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
    //Add Librry of Splash Screen
    compile 'gr.pantrif:easy-android-splash-screen:0.0.1'
}

当我在智能手机中安装应用程序时,它会崩溃,当我点击应用程序图标时。我认为错误是在颜色代码中,但我无法对其进行排序。我已经在网上挖掘了这个答案,但没有有效答案好了。请帮我分类吧。谢谢你。

2 个答案:

答案 0 :(得分:1)

<强>问题

android.graphics.Color.parseColor("#239b56f") //Wrong color format

解析颜色字符串,并返回相应的color-int。如果无法解析字符串,则抛出IllegalArgumentException异常。支持的格式为:

  

RRGGBB

     

AARRGGBB

使用 HEX 字符串。示例

android.graphics.Color.parseColor("#54D66A")

答案 1 :(得分:0)

来自Documentation

解析颜色字符串,并返回相应的color-int。如果无法解析字符串,则抛出IllegalArgumentException异常。支持的格式为:#RRGGBB #AARRGGBB'red','blue','green','black','white','grey','cyan','magenta','yellow','lightgray','darkgray “

在color.xml中定义颜色并从那里获取颜色,因为您的颜色代码与RGB模式不匹配。

.withBackgroundColor(ContextCompat.getColor(this, R.color.your_color);