zoukankan      html  css  js  c++  java
  • 解决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资源目录下。这个问题解决。

  • 相关阅读:
    windows“画图”工具用法
    数字信号处理的流程
    怎样去掉桌面图标蓝色阴影
    Linux下Wi-Fi配置工具2
    vs2005下面编译自己的luars232.dll
    [spring]03_装配Bean
    [Java IO]02_字节流
    [Java IO]01_File类和RandomAccessFile类
    [Spring]01_环境配置
    Notepad++ 实用技巧
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6917422.html
Copyright © 2011-2022 走看看