注:本人博文整理至CSDN以方便查阅,源博文位于EDN
用XRG(XMMI Resource Generator)打开一个工程后,如果是原始release过来的工程,我想在左侧Solution窗口都会有system,default,default_L三项,这三项是Mstar工程的Theme,如果在代码中去找,你会在mae_customization.c中发现,解析资源的地方,ThmAmount的数值为3,0为system,1为default,2自然是dafault_L了。 默认的Theme自然是default里头的资源了,我们称之为Base。
说到这我想对初学者都会冒出一个疑问,default_L是干啥的?别急
在工程中,如果你想添加新的一套UI(或是上边提到的Theme,就这么叫着吧),但是在新的Theme中又有好些资源是和default相同的,这样你就可以创建一个新的Theme,将相同的资源与default共用,default_L就是这么来的,default_L其实就是横屏下的UI。在代码里(Mae_customization.c),你会发现,其实这实现起来很简单,首先获取当前的Theme,然后去获取对应的资源ID,如果有,那就用这个Theme的资源了,如果没找到,就用default里与此ID对应的资源。所谓的共用,其实就是这么来的。当然你也可以