解决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】Android开发之XML文件Element XXXX must be declared的解决方法

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

Element type "Select" must be declared.

当我运行代码程序的时候,报了这个错误,当时心里挺蒙的,找了很久才找出错在那里。[localhost-startStop-1] ERROR org.springframework.web.context...

android4.1 JELLY_BEAN:All WebView methods must be called on the same thread[问题已解决]

11-06 18:29:15.582: W/WebView(27807): java.lang.Throwable: A WebView method was called on thread 'Ja...

出现错误 Element type "LinearLayout" must be followed by either attribute specification,">"or"/>"的解决办法

出现错误 Element type "LinearLayout" must be followed by either attribute specification,">"or"/>"的解决办法 ...

【解决】Element type "typename" must be followed by either attribute specifications, ">" or "/>".

问题 昨天学习Android的几种布局,敲代码时遇到这样的报错:Element type "TableRow" must be followed by either attribute specifi...

JSF简单实例及无法正常访问的解决方法(404和The markup in the document preceding the root element must be well-formed. )

一、HTTP Status 404 - /JSFLoginDemo/userLogin.faces 去除如下红色配置即可正常访问: xml version="1.0" encoding="UT...
  • ly20wy
  • ly20wy
  • 2013-12-05 11:01
  • 1133

AndroidStudio 3.0 canary 8 Annotation processors must be explicitly declared now.

今天由于开发环境问题,下载了最新版的AndroidStudio的,之前的项目编译报错,提示: Error:Execution failed for task ':app:javaPreCompileD...

identifier 'DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION' must be declared

由“如何跟踪某个session的SQL”来试用sql_trace进行sql跟踪,18:43:27 ejing@ORCL> select distinct sid from v$mystat;     ...

android studio运行AVD时显示“CPU acceleration status:HAXM must be updated(version 1.1.1<6.0.1)”

1. 2.......\androidstudio\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager 双击intelhax...

Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str

在python的Beautiful Soup 4 扩展库的使用过程中出现了TypeError: list indices must be integers or slices, not str这个错误...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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