【发布时间】:2017-07-14 08:17:51
【问题描述】:
我的布局中有一个微调器,并希望在棒棒糖前后的 API 级别中自定义其样式。
我在 style-v23.xml 中使用了以下样式:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="SpinnerTheme" parent="AppTheme">
<item name="android:background">@drawable/bg_spinner</item>
</style>
</resources>
这是 bg_spinner 文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape>
<gradient android:angle="90" android:endColor="#ffffff" android:startColor="#ffffff" android:type="linear" />
<stroke android:width="0.33dp" android:color="#0fb1fa" />
<corners android:radius="0dp" />
<padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />
</shape>
</item>
<item android:right="5dp">
<bitmap android:gravity="center_vertical|right" android:src="@drawable/ic_chevron_down" />
</item>
</layer-list>
</item>
</selector>
但是当我在 API 级别 23 中运行程序时,它返回以下错误:
Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class <unknown>
但是,它在 android 其他 API 级别中按预期正常工作。 有没有人可以帮助我?
提前致谢
【问题讨论】:
-
你在哪里引用
SpinnerTheme风格,请贴代码? -
就是上面的第一个代码!
-
一切都是正确的。问题必须在您的 src 属性中。我使用了 android 可绘制文件
android:src="@drawable/ic_close_light"并且工作正常。更改 src 可绘制对象并再次运行。 -
没错。发布为答案,以便我接受。但是这个xml文件有什么问题呢?
-
@Mahdia 作为答案发布。你必须为
src而不是xml drawable使用图像drawable
标签: android xml android-spinner layout-inflater