gpt4 book ai didi

java - 错误 android.view.InflateException : Binary XML: Error inflating class Button caused by xml background

转载 作者:行者123 更新时间:2023-12-02 03:41:47 30 4
gpt4 key购买 nike

几天来我对错误感到困惑,原因是:android.view.InflateException:二进制XML文件行#46:错误膨胀类按钮,我试图找出发生了什么,但没有运气,在我在stackoverflow中发现的类似问题中但我认为我的情况有点不同,,

FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo
android.view.InflateException: Binary XML file line #46: Error inflating class Button
Caused by: android.content.res.Resources$NotFoundException:
**File res/drawable/btn_primary.xml from drawable resource ID #0x7f020058**

然后我意识到,我的文件 btn_primary_dark.xml 和另一个可绘制的 xml 导致了此错误,在 Lollipop 及以上版本上一切正常,但在 21 之前的 API(如 kitkat 或 JB)则不然,在堆栈跟踪中写入未找到资源,但我有我的 xml 文件,我在 drawable 文件夹中有文件

btn_primary.xml
btn_primary_dark.xml
btn_light.xml
..

和文件夹drawable-v21

btn_primary.xml
btn_primary_dark.xml
btn_light.xml
..

btn_primary.xmldrawable 文件夹

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<corners android:radius="3dip" />
<solid android:color="?colorControlHighlight" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="3dip" />
<solid android:color="@color/primary" />
</shape>
</item>
</selector>

btn_primary.xmldrawable-v21 文件夹

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?colorControlHighlight">
<item>
<shape android:shape="rectangle">
<corners android:radius="3dip" />
<solid android:color="@color/primary" />
</shape>
</item>
</ripple>

如果有人遇到同样的问题,我想知道如何解决这个问题。感谢您的帮助。

最佳答案

我发现了一些问题,结果发现错误,因为 xml pre lollipop 无法识别 <solid android:color="?colorControlHighlight" />所以我只是改变 <solid android:color="@color/accent" />

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<corners android:radius="3dip" />
<solid android:color="@color/accent" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="3dip" />
<solid android:color="@color/primary" />
</shape>
</item>
</selector>

关于java - 错误 android.view.InflateException : Binary XML: Error inflating class Button caused by xml background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762541/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com