|
Android模块开发的一个原则:能不用xml资源文件(包括values、drawable、layout等类型资源)就尽量不用,尽量使用代码书写,因为即使你使用xml资源进行配置的,这些xml资源最终也会被转换成Java类,只是这个过程是Android的framework层去做的,它解析了你的xml,然后将xml中的东西转换成了Java类或者数据类型等,很明显这个过程要比你直接在代码中new一个对象要耗更多的资源。同时,通过代码的方式,还可以直接的避免R文件的引用。
另外,任何xml中的资源ID,都可以动态获取,UZResourcesIDFinder下有一些简单的动态获取的封装,如果满足不了你的需求,也可以自己书写动态获取的代码,UZResourcesIDFinder下其实就是对系统的Resources类下的getIdentifier(用于动态获取资源ID)函数的一个封装:
getIdentifier(String name, String defType, String defPackage)
参数:
name:资源名字
defType:资源类型的字符串描述,如"drawable"、"layout"、"raw"、"id"、"string"等
defPackage:应用的包名
因此,你也可以根据该函数,自己做个扩展,丰富一下动态获取ID的功能。比如说你提到的ids.xml |
|