2015-07-03 37 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

通胀错误。 尝试降低图像质量,因此不会出现错误。 希望这可以帮到