Dorado 5 : 15.1.修改系统默认皮肤 (RF1)

为了方便我们更换Dorado页面的界面风格,Dorado提供了皮肤的概念,可以让我们很方便地更改系统的界面风格。Dorado默认提供了两套皮肤。在工程里[dorado home]/smartweb/v2/skins目录下我们可以看到default和simple两个文件夹,这两个文件夹里就是Dorado提供的两套默认的皮肤文件。如果我们要定义自己的皮肤文件,只需要将default或simple两个文件夹任意copy一份重命名放在skins目录下,修改里面的图片文件和样式表文件就可以完成皮肤的定义工作。

通过Setting.xml指定

在一个系统当中,我们可以设置系统的默认所采用的皮肤,设置方法是修改[dorado-home]目录下的setting.xml文件,修改内容如下:

......
<property name="view.defaultClientType" value="smartweb2"/>
<property name="view.smartweb2.skin" value="default"/>
<property name="view.smartweb2.clientDebug" value="true"/>
......

这里的default就是系统所采用的默认皮肤的名称,也就是皮肤文件所在的文件夹名称。

通过ViewModel的Skin指定

除了这种对整个系统的皮肤进行设置之外,Dorado还提供了对单个ViewModel进行皮肤设定,具体文件就是把皮肤文件所在的文件夹名称写到ViewModel的skin属性里就可以完成对单个ViewModel的皮肤设置工作。如下图:

图表 93 视图模型skin指定
修改完成之后我们可以发现当前的ViewModel已经采用我们指定的皮肤文件了。对单个ViewModel的皮肤设定只会影响当前ViewModel,而不会影响到其它的页面。

通过Java代码动态指定

在Dorado中我们除了可以给工程设置默认的皮肤文件之外,我们还可以动态的更换工程的皮肤文件,通过DoradoContext对象指定:

DoradoContext context = DoradoContext.getContext();//得到DoradoContext对象
context.setAttribute(DoradoContext.SESSION,
ViewModel.DEFAULT_SKIN_ATTRIBUTE, "default";//设置当前系统的默认的皮肤

其中: ViewModel.DEFAULT_SKIN_ATTRIBUTE为ViewModel的默认皮肤关键字。通过该关键字指定想要得皮肤。