2015-07-03 38 views
0

我是新來的android編程,但我有一個問題。更改Android工作室的背景圖片

我不知道爲什麼,如果我測試我的應用程序與仿真程序沒有背景圖像它的作品,如果我嘗試與背景圖像我的應用程序崩潰..它說「不幸的MyApp已停止工作」。

我已將image.png放入drawable文件夾,並且我使用android:background="@drawable/image"放入活動的xml文件中。

它給了我這個錯誤

07-03 19:25:06.084 7491-7491/com.symplyfyweb.gherghina.oldschoolwesternpoker E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: com.symplyfyweb.gherghina.oldschoolwesternpoker, PID: 7491 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.symplyfyweb.gherghina.oldschoolwesternpoker/com.symplyfyweb.gherghina.oldschoolwesternpoker.MainActivity}: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.widget.RelativeLayout 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2411) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470) 
      at android.app.ActivityThread.-wrap11(ActivityThread.java) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:148) 
      at android.app.ActivityThread.main(ActivityThread.java:5401) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:725) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615) 
    Caused by: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.widget.RelativeLayout 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:389) 
      at android.app.Activity.setContentView(Activity.java:2113) 
      at com.symplyfyweb.gherghina.oldschoolwesternpoker.MainActivity.onCreate(MainActivity.java:15) 
      at android.app.Activity.performCreate(Activity.java:6116) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470) 
            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.app.ActivityThread.main(ActivityThread.java:5401) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:725) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615) 
    Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout 
      at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
      at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
            at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:389) 
            at android.app.Activity.setContentView(Activity.java:2113) 
            at com.symplyfyweb.gherghina.oldschoolwesternpoker.MainActivity.onCreate(MainActivity.java:15) 
            at android.app.Activity.performCreate(Activity.java:6116) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470) 
            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.app.ActivityThread.main(ActivityThread.java:5401) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:725) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615) 
    Caused by: java.lang.reflect.InvocationTargetException 
      at java.lang.reflect.Constructor.newInstance(Native Method) 
      at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
            at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
            at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:389) 
            at android.app.Activity.setContentView(Activity.java:2113) 
            at com.symplyfyweb.gherghina.oldschoolwesternpoker.MainActivity.onCreate(MainActivity.java:15) 
            at android.app.Activity.performCreate(Activity.java:6116) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470) 
            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.app.ActivityThread.main(ActivityThread.java:5401) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:725) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615) 
    Caused by: java.lang.OutOfMemoryError: Failed to allocate a 132710412 byte allocation with 1048576 free bytes and 63MB until OOM 
      at dalvik.system.VMRuntime.newNonMovableArray(Native Method) 
      at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
      at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609) 
      at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444) 
      at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1073) 
      at android.content.res.Resources.loadDrawableForCookie(Resources.java:2633) 
      at android.content.res.Resources.loadDrawable(Resources.java:2538) 
      at android.content.res.TypedArray.getDrawable(TypedArray.java:872) 
      at android.view.View.<init>(View.java:3920) 
      at android.view.ViewGroup.<init>(ViewGroup.java:572) 
      at android.widget.RelativeLayout.<init>(RelativeLayout.java:248) 
      at android.widget.RelativeLayout.<init>(RelativeLayout.java:244) 
      at android.widget.RelativeLayout.<init>(RelativeLayout.java:240) 
            at java.lang.reflect.Constructor.newInstance(Native Method) 
            at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
            at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
            at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:389) 
            at android.app.Activity.setContentView(Activity.java:2113) 
            at com.symplyfyweb.gherghina.oldschoolwesternpoker.MainActivity.onCreate(MainActivity.java:15) 
            at android.app.Activity.performCreate(Activity.java:6116) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470) 
            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.app.ActivityThread.main(ActivityThread.java:5401) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:725) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615) 

非常感謝您!

這是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" 
    android:background="@drawable/image"> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="New Button" 
     android:id="@+id/button" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true" /> 
</RelativeLayout> 
+1

你能顯示你的xml文件嗎? –

+0

請看看這個答案。 [link](http://stackoverflow.com/questions/5479977/how-to-set-the-background-of-the-android-application) – Bun

+0

看起來你已經切斷了日誌中最重要的部分在開始時 – Broak

回答

0

這是一個通貨膨脹的錯誤,當你試圖誇大錯誤的東西(如片段,而不是support.v4.Fragment),所以檢查你的代碼通常引起的。

0

產生的原因:java.lang.OutOfMemoryError:失敗,因爲你的圖像過高/高品質的分配與1048576個免費字節一個字節132710412分配和63MB直到OOM

通脹錯誤。 嘗試降低圖像質量,因此不會出現錯誤。 希望這可以幫到