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

近期将一个项目从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的长处,是什么资源就应该放到什么位置,不easy让人产生疑惑。所以在Android Studio下的解决方法就是把这些资源文件移动到drawable资源目录下。这个问题解决。

时间: 2024-10-29 10:45:41

解决Android Studio下Element layer-list must be declared问题的相关文章

android studio 下错误提示的解决办法

android studio下提示gradle project sync failed.Basic functionality will not work ----->>我是通过android studio下,点击 tools ->Android->sync project with gradles files.解决这个问题的. OK,搞定

Android Studio下SVN的用法(1) - 初识SVN

Android Studio下SVN的用法(1) - 初识SVN 前言 这几天公司又来了新人,之前都是一个人开发的项目现在需要合作开发.所以不可避免的需要使用版本控制工具. 公司使用的是SVN,网上有一大堆教程,但是发现对于新手来说,特别是从来没有接触过的人来说,往往都 说的不是很详细,甚至可以说基本没有照顾到这些方面.不要问我为什么这么清楚,因为被坑的不行了--.. PS:本篇文章是介绍AS下SVN的使用,所以可能会跟网上的教程不同 使用 下载及安装 首先前往官网下载SVN客户端,官网上下载可

解决Android Studio启动项目后一直处于refreshing 'View' gradle project,快速解决亲测有效

一直处于refreshing 'View' gradle project最根本的原因是项目中所用到的gradle版本在GRADLE_USER_HOME这个路径下没有找到,所以就利用distributionUrl这个路径进行下载,但是呢下载的时候会非常非常慢,So就一直卡在了refreshing 'View' gradle project 我的这个GRADLE_USER_HOME="C:\Users\Ivan\.gradle\wrapper\dists",大家可以根据自己的路径找到 要快

解决Android Studio引入SVN上Eclipse依赖工程不能实时更新的思考

解决Android Studio引入SVN上Eclipse依赖工程不能实时更新的思考 标签(空格分隔): AndroidStudio SVN 使用Android Stuido开发了几个月,都是使用libs/jar实现对外部库的依赖,最近新的需求需要依赖工程.使用SVN进行版本管理,而且依赖工程为Eclipse项目,在开发过程中发现一个问题:作为Module依赖加入的工程,不能直接以new Module的模式从SVN服务器上直接 CheckOut出来作为依赖Module:需要从SVN服务器Chec

关于Android Studio下出现dexDebug&LoggedErrorException并且Error Code等级为2或者3

做项目的时候,遇到这个异常: Error:Execution failed for task ':samsung_edge_reader:dexDebug'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Users/xiongcen/Documents/develop/android-sdk-macosx/build-tools/21.1.1/dx -JXmx3g --dex --

Android Studio下的应用性能优化总结-内存优化

转载请标明出处(请勿转载删除底部微博.微信等信息): http://blog.csdn.net/Y1258429182/article/details/51176424 本文出自:杨哲丶的博客 上一篇文章总结的布局优化的问题,如果对布局优化不是很熟悉的,可以看一下Android Studido下的应用性能优化总结–布局优化, 这周一直筹划总结一下内存优化的问题,因为现在对于应用优化的文章很多,但是还是想完善一下才想分享这篇文章的,我会从项目中遇到的一个问题,通过解决问题的过程来分享知识,希望大家

Android Studio下jni应用

最近在将一个小应用从eclipse开发迁移到android studio,程序中有native代码实现,在eclipse是靠Android.mk这么个mk文件来组织编译的,但到android studio上就不行了,因其是靠gradle组织,所以makefile里的配置要转换为build.gradle里的语句(尽管实际上gradle也是组织一个mk文件),同时在迁移过程中遇到了一些问题,这里记录一下,以备后查. Android的JNI开发主要有两中情况:一种是使用已经编译好的.so动态库:一种是

Android Studio 下项目的依赖配置

Android Studio 下项目的依赖配置 背景 项目需要用到一个github上的开源库swipelistview,原来在eclipse环境下配置过相关的依赖(导入jar包或者是lib依赖),但是在Android Studio下还是没有操作过.上网查了一下相关的资料,在stackoverflow上找到了答案.根据上面的介绍,结合实际情况,完成了依赖配置. stackoverflow答案地址 有两种方式来进行依赖配置. 1. 使用aar包(这个不太清楚原理和效果,简单查了一下和maven相关,

解决Android studio :Error:Cause: unable to find valid certification path to requested target

解决Android studio :Error:Cause: unable to find valid certification path to requested target ————————————记一个倒霉孩子的一周的挣扎 最近更新Android studio至3.5.1,然后出现了Error:Cause: unable to find valid certification path to requested target这个报错,总之就是gradle更新时总有一个.pom文件或者j