Android/Errors

gradient 속성 관련 에러

re트 2023. 11. 22. 14:31
728x90

23.11.22

FATAL EXCEPTION: main
Process: com.example.mbtitestapp, PID: 6113
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mbtitestapp/com.example.mbtitestapp.MainActivity}: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
	at android.app.ActivityThread.-wrap11(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
Caused by: java.lang.reflect.InvocationTargetException
	at java.lang.reflect.Constructor.newInstance0(Native Method)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
	at android.view.LayoutInflater.createView(LayoutInflater.java:647)
	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
	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 androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:775)
	at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:197)
	at com.example.mbtitestapp.MainActivity.onCreate(MainActivity.kt:9)
	at android.app.Activity.performCreate(Activity.java:7009)
	at android.app.Activity.performCreate(Activity.java:7000)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
	at android.app.ActivityThread.-wrap11(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: android.content.res.Resources$NotFoundException: Drawable com.example.mbtitestapp:drawable/layout_background with resource ID #0x7f0700f2
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/layout_background.xml from drawable resource ID #0x7f0700f2
	at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:820)
	at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:630)
	at android.content.res.Resources.loadDrawable(Resources.java:886)
	at android.content.res.TypedArray.getDrawableForDensity(TypedArray.java:953)
	at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
	at android.view.View.<init>(View.java:4768)
	at android.view.ViewGroup.<init>(ViewGroup.java:597)
	at android.view.ViewGroup.<init>(ViewGroup.java:593)
	at android.view.ViewGroup.<init>(ViewGroup.java:589)
	at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:587)
	at java.lang.reflect.Constructor.newInstance0(Native Method)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
	at android.view.LayoutInflater.createView(LayoutInflater.java:647)
	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
	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 androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:775)
	at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:197)
	at com.example.mbtitestapp.MainActivity.onCreate(MainActivity.kt:9)
	at android.app.Activity.performCreate(Activity.java:7009)
	at android.app.Activity.performCreate(Activity.java:7000)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
	at android.app.ActivityThread.-wrap11(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #8<gradient> tag requires 'angle' attribute to be a multiple of 45
	at android.graphics.drawable.GradientDrawable.updateGradientDrawableGradient(GradientDrawable.java:1582)
	at android.graphics.drawable.GradientDrawable.inflateChildElements(GradientDrawable.java:1404)
	at android.graphics.drawable.GradientDrawable.inflate(GradientDrawable.java:1225)
	at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:142)
	at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1295)
	at android.graphics.drawable.Drawable.createFromXmlForDensity(Drawable.java:1254)
	at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:807)
	... 33 more

 

강의 듣다가 발생한 에러

저번에 들을 때는 발생하지 않았던 에러라서 흠칫했는데 에러 메시지를 쭉 읽다보니까 아래 쪽에 이유가 그대로 써있더라

 

Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #8<gradient> tag requires 'angle' attribute to be a multiple of 45

▷ <gradient> 태그의 angle 속성은 45의 배수여야한다.

 

저번과 달리 강의를 그대로 따라하지 않고 20이라는 값을 angle 속성에 넣었다.

코드에서 에러가 뜨지 않고 미리보기 창에서도 에러가 뜨지 않은 상태로 변화가 생겨서 그냥 했는데 에러가 발생한 거였다.

다시 살펴보니 20이라는 값을 넣으니까 이상한 방향으로 회전하더라...

쉽게 해결되어서 매우 다행이다.

반응형