将背景图像添加到“RelativeLayout”时出错

问题描述 投票:0回答:3

谁能帮我?我无法为我的RelativeLayout添加背景

这是我的.xml文件: -

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.isengiseng.petabudayaindonesia.MainActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/map"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp">

        <Button
            android:id="@+id/bNad"
            android:layout_width="38dp"
            android:layout_height="14dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginStart="14dp"
            android:layout_marginTop="83dp"
            android:background="@android:color/transparent"
            tools:layout_editor_absoluteX="14dp"
            tools:layout_editor_absoluteY="82dp" />

    </RelativeLayout>
</android.support.constraint.ConstraintLayout>

这是我的logcat

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.isengiseng.petabudayaindonesia, PID: 14592
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.isengiseng.petabudayaindonesia/com.isengiseng.petabudayaindonesia.MainActivity}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.widget.RelativeLayout
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2570)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2636)
                      at android.app.ActivityThread.access$1000(ActivityThread.java:180)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1494)
                      at android.os.Handler.dispatchMessage(Handler.java:111)
                      at android.os.Looper.loop(Looper.java:207)
                      at android.app.ActivityThread.main(ActivityThread.java:5795)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768)
                   Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class android.widget.RelativeLayout
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:543)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
                      at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                      at com.isengiseng.petabudayaindonesia.MainActivity.onCreate(MainActivity.java:20)
                      at android.app.Activity.performCreate(Activity.java:6342)
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2523)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2636) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:180) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1494) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:207) 
                      at android.app.ActivityThread.main(ActivityThread.java:5795) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768) 
                   Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class android.widget.RelativeLayout
                      at android.view.LayoutInflater.createView(LayoutInflater.java:649)
                      at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
                      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:698)
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:766)
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708)
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:839)
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:519)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:427) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                      at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                      at com.isengiseng.petabudayaindonesia.MainActivity.onCreate(MainActivity.java:20) 
                      at android.app.Activity.performCreate(Activity.java:6342) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2523) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2636) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:180) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1494) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:207) 
                      at android.app.ActivityThread.main(ActivityThread.java:5795) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768) 
                   Caused by: java.lang.reflect.InvocationTargetException
                      at java.lang.reflect.Constructor.newInstance(Native Method)
                      at android.view.LayoutInflater.createView(LayoutInflater.java:623)
                      at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
                      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:698) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:766) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:839) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:519) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:427) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                      at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                      at com.isengiseng.petabudayaindonesia.MainActivity.onCreate(MainActivity.java:20) 
                      at android.app.Activity.performCreate(Activity.java:6342) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2523) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2636) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:180) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1494) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:207) 
                      at android.app.ActivityThread.main(ActivityThread.java:5795) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768) 
                   Caused by: java.lang.OutOfMemoryError: Failed to allocate a 491558412 byte allocation with 4189856 free bytes and 243MB until OOM
                      at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
                      at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
                      at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:655)
                      at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:488)
                      at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1085)
                      at android.content.res.Resources.createFromResourceStream(Resources.java:3302)
                      at android.content.res.Resources.loadDrawableForCookie(Resources.java:3028)
                      at android.content.res.Resources.loadDrawable(Resources.java:2858)
                      at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:388)
                      at android.content.res.TypedArray.getDrawable(TypedArray.java:872)
                      at android.view.View.<init>(View.java:4009)
                      at android.view.ViewGroup.<init>(ViewGroup.java:599)
                      at android.widget.RelativeLayout.<init>(RelativeLayout.java:268)
                      at android.widget.RelativeLayout.<init>(RelativeLayout.java:264)
                      at android.widget.RelativeLayout.<init>(RelativeLayout.java:260)
                      at java.lang.reflect.Constructor.newInstance(Native Method) 
                      at android.view.LayoutInflater.createView(LayoutInflater.java:623) 
                      at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
                      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:698) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:766) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:839) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:519) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:427) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                      at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                      at com.isengiseng.petabudayaindonesia.MainActivity.onCreate(MainActivity.java:20) 
                      at android.app.Activity.performCreate(Activity.java:6342) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1113) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2523) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2636) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:180) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1494) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:207) 
                      at android.app.ActivityThread.main(ActivityThread.java:5795) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:768)

提前谢谢,如果我的语法很差,对不起。

java android
3个回答
0
投票

可能是错误属于android:background="@drawable/map"。你正在使用图像是高分辨率,发生OutofMemory错误尝试通过删除它或使用低分辨率的另一个图像

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFF">

    <Button
        android:id="@+id/bNad"
        android:layout_width="38dp"
        android:layout_height="14dp"
        android:background="@android:color/transparent"
        tools:layout_editor_absoluteX="14dp"
        tools:layout_editor_absoluteY="82dp" />

</RelativeLayout>

0
投票

试试这个

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/splashbackground"
        android:gravity="center"
        tools:context=".SplashActivity">
     <Button
            android:id="@+id/bNad"
            android:layout_width="38dp"
            android:layout_height="14dp"
            android:background="@android:color/transparent"
           />
    </RelativeLayout>

0
投票

//试试这个

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@drawable/map"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <Button
        android:id="@+id/bNad"
        android:layout_width="38dp"
        android:layout_height="14dp"
        android:background="@android:color/transparent"
        tools:layout_editor_absoluteX="14dp"
        tools:layout_editor_absoluteY="82dp" />

</RelativeLayout>
© www.soinside.com 2019 - 2024. All rights reserved.