Android开发:res目录自定义命名文件夹及R类关联问题问询
1. 我是否可以在Android的res目录下创建任意命名的文件夹?
当然不行啦,Android的res目录可不是随便乱建文件夹的地方,它有一套严格的命名规则。只有符合官方规定的资源类型名称(比如drawable、layout、values、xml这些),或者在这些基础上加上合法的资源限定符(比如drawable-hdpi、values-zh-rCN)的文件夹,才会被aapt工具识别为有效的资源目录。
如果你随便建个比如my_random_folder这样的文件夹,aapt会直接忽略它,里面的文件不会被编译到应用里,也不会生成对应的R类引用。简单说,res目录下的文件夹命名必须遵循Android资源系统的规范,不能随心所欲。
2. 我能否在res目录下创建名称不属于R类子类的文件夹,并将其作为存放xml资源的资源目录?
这也不行哦。R类里的那些子类(比如R.layout、R.xml、R.string)其实对应着res目录下的标准资源类型文件夹。aapt工具只会识别这些标准的资源目录,比如你要放xml资源,应该用res/xml/这个目录,这样里面的xml文件会被正常编译,并且可以通过R.xml.your_file_name来引用。
要是你建了一个不在标准列表里的文件夹(比如custom_xml_files),哪怕里面全是xml文件,aapt也不会把它当作资源目录处理——这些xml不会被编译,自然也不会出现在R类里。如果你的xml不需要被编译(比如只是作为原始文件读取),那可以放在assets目录下,但那不属于res资源目录的范畴了。
内容的提问来源于stack exchange,提问作者user11801832
相关产品推荐
相关产品推荐

