解决Android Studio下Element layer-list must be declared问题

原创 2015年07月08日 22:44:29


最近将一个项目从Eclipse转到Android Studio。项目中使用了环信demo中的一些xml资源,转换后发现color资源文件夹下诸如layer-list或者shape等标签报Element xxx must be declared错误,大意就是layer-list或者shape这些标签没有定义。


layer-list或者shape等这些标签是常用的标签,Android Studio居然报没有定义错误,在Eclipse中却没有这个问题。网上不少人说这是Android Studio的一个bug,事实正相反,这是Android Studio的优点。


对于这个问题,首先要了解layer-list、shape等这些标签是什么东西。每一种标签都有对应的资源类,layer-list、shape等等标签代表的其实是个drawable资源。layer-list最终会解析为LayerDrawable,shape会解析为ShapeDrawable,其它的标签类似。由此可以看出layer-list或者shape等资源是drawable资源,应该放到drawable资源文件夹下。color资源不包括drawable资源,当然没有定义drawable类型的标签。


Eclipse不像Android Studio,对资源类型的检查没有那么严格,所以没有报错误。我觉得这倒是Android Studio的优点,是什么资源就应该放到什么位置,不容易让人产生疑惑。所以在Android Studio下的解决方法就是把这些资源文件移动到drawable资源文件夹下,这个问题解决。

版权声明:本文采用CC BY-NC-ND 4.0共享协议,允许复制转载,但必须在文首显眼位置保留原文作者、原文链接、版本信息、版权声明等信息。不允许演绎和用于商业用途。

相关文章推荐

Android异常-帧动画标签<animation-list>在AndroidStudio下不识别Element animation-list must be declared

异常:   Eclipse中的使用帧动画的时候,是将动画文件放到anim文件夹中,但是到AndroidStudio中就会报如下错误:Element animation-list  must be de...

Android Studio报Element XXXX must be declared的解决方法

情景在线Element animation-list must be declared在编写帧动画的xml文件时,将动画的xml文件放到了 res/anim目录中 ...

Element animation-list must be declared异常

将帧动画的xml文件放在anim文件夹下,会报出Element animation-list must be declared 这样的异常 但是不影响编译 解决方法: animation-l...

Android Studio selector 报 Element selector must be declared 的问题

Android Studio 有提供根据图片后缀名_normal 、 _pressed、selected来生成selector的插件 SelectorChapek。详情可以看Android Sele...

【Android】Android开发之XML文件Element XXXX must be declared的解决方法

作者:程序员小冰 (转载请说明出处)博客地址:http://blog.csdn.net/qq_21376985长期维护的Android项目,里面包括常用功能实现,以及知识点详解, 当然还有Java中的...

Element translate must be declared

因为我的push_fade_in.xml文件放在drawable中,并且在anim中也有我将drawable中的文件放到anim中就可以了...

bug解决:Element xxx must be declared

在打包的时候报了这个错误·,具体报错的文件是一个animation-list标签的xml文件。 原因在于AS有类型检查,drawable文件必须放在drawable文件夹下,不只是这个标签的元素,如果...

存储过程里的序列报错Error: PLS-00302: component 'SEQUENCE_NAME' must be declared

今天遇到一个奇怪的问题,存储过程的tiao'y

Android中layer-list使用详解

使用layer-list可以将多个drawable按照顺序层叠在一起显示,默认情况下,所有的item中的drawable都会自动根据它附上view的大小而进行缩放, layer-list中的item...

layer-list -- layer-list的基本使用介绍

1. layer-list 是啥?有啥作用?点击查看 安卓官方开发指南中关于layerlsit的说明(1). layer-list 是啥?简单理解,layer 是层,list 是列表,那么 layer...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决Android Studio下Element layer-list must be declared问题
举报原因:
原因补充:

(最多只允许输入30个字)