android - 资源“XX”(7f07005e)不是可绘制对象(颜色或路径):TypedValue{t=0x1/d=0x7f07005e a=-1 r=0x7f07005e}
问题描述
当我启动我的应用程序时,出现此错误(仅在 api 22 中),显然这是我为 button_login 所做的自定义背景所面临的一些错误
错误:android.content.res.Resources$NotFoundException:资源“br.com.tecmafandroid.projeto.tecmaf:drawable/backgroud_botao_login”(7f07005e)不是可绘制对象(颜色或路径):TypedValue{t=0x1/d=0x7f07005e a=-1 r=0x7f07005e}
我的 logcat 错误是:
Caused by: android.content.res.Resources$NotFoundException: Resource "br.com.tecmafandroid.projeto.tecmaf:drawable/backgroud_botao_login" (7f07005e) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f07005e a=-1 r=0x7f07005e}
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2441)
at android.content.res.Resources.loadDrawable(Resources.java:2381)
at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
at android.view.View.<init>(View.java:3737)
at android.widget.TextView.<init>(TextView.java:637)
at android.widget.Button.<init>(Button.java:111)
at android.widget.Button.<init>(Button.java:107)
at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:70)
at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:66)
at android.support.v7.app.AppCompatViewInflater.createButton(AppCompatViewInflater.java:186)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:109)
at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1035)
at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1092)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at br.com.tecmafandroid.projeto.tecmaf.activity.TelaInicialActivity.onCreate(TelaInicialActivity.java:24)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
activity_tela_initial(调用按钮的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"
android:layout_gravity="center_horizontal"
android:background="@drawable/background_degrade"
tools:context=".activity.TelaInicialActivity">
<Button
android:id="@+id/btFacaLogin"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginBottom="24dp"
android:background="@drawable/backgroud_botao_login"
android:text="Faça Login"
android:textColor="@color/textColorButton"
app:layout_constraintBottom_toTopOf="@+id/textView6"
app:layout_constraintEnd_toEndOf="@+id/textView6"
app:layout_constraintStart_toStartOf="@+id/textView6" />
</android.support.constraint.ConstraintLayout>
background_botao_login(xml backgroud_botao_login):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="20dp"></corners>
<solid android:color="#FFFFFF"></solid>
<stroke
android:width="1dp"
android:color="#C9DBE9"></stroke>
</shape>
解决方案
当您将 xml 放入错误的可绘制文件夹时,我已经看到此问题发生。例如,drawable-v24
它在 API < 21 上崩溃。
您可以在没有任何 api 版本的情况下粘贴background_botao_login.xml
到 drawable 中来解决问题。
右键单击background_botao_login
并单击在文件夹中显示(linux中的文件)然后将其复制并转到上一个文件夹并找到可绘制并粘贴在其中。
推荐阅读
- sql - 如何根据同一表中记录的条目时间更新oracle表中的序列号
- bash - 根据 bash 中的条件删除 YML 文件中的属性
- python - bash 相当于 python 中的字符串乘法 ("=" * { n })
- jupyter-notebook - 有没有办法将 Minizinc 求解器的所有解决方案绑定到 python 变量(当通过单元魔法在 jupyter notebook 中使用时)?
- php - 如何从 MySQL 获取段落和缩进到 php?
- python - 选择所有列都等于值的所有行
- redirect - apache 重定向将代理传递添加到 url
- r - 在R中的函数中打印循环数
- java - Media.Setlooping 不连续运行
- javascript - Javascript 模块在 text/javascript html 脚本标签中的使用