我在drawable
文件夹内的xml中有这段代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list>
<item>
<shape android:shape="rectangle">
<size android:width="90dp" android:height="90dp" />
<solid android:color="#9933CC" />
</shape>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/main_achievements_synthesis" />
</item>
</layer-list>
</item>
<item>
<layer-list>
<item>
<shape android:shape="rectangle">
<size android:width="90dp" android:height="90dp" />
<solid android:color="#AA66CC" />
</shape>
</item>
<item>
<bitmap android:gravity="center" android:src="@drawable/main_achievements_synthesis" />
</item>
</layer-list>
</item>
</selector>
我使用它来创建一个有两种状态的图片(用作按钮)。在模拟器和设备上一切都按预期运行。
我知道我可以创建不同的可绘制xml并进行引用以达到相同的效果。
我刚刚转换到Android Studio,它向我显示了这个消息:Element XXX is not allowed here
。它警告我关于Layer-list和其中所有标签。然而,正如我所说,这段代码完全正常。
我应该将我的代码分成单独的XML文件(知道我只会使用它们一次),还是这只是Android Studio Inspector Code中的一个“错误”?
注意:我认为我的代码可以优化,但我还没有想出如何做到。