技术开发 频道

高级 Synth

  定义对每种组件都通用的 XML 属性时,总是忽略了一些特定于组件的属性。例如 list 的行高、单选钮的图标和菜单的箭头图标,这些都是特定于组件的属性。可以定义的特定于组件的属性有 100 多种,但是为每个这样的属性定义一个 XML 属性就有些过分了。因此,Synth XML 文件允许设置特定于组件的属性。 标签就像一个 Hashtable,它定义一个键/值对来设置属性。

  登录屏幕示例的复选框演示了如何为特定于组件的属性编写代码。通过定义 imageIcon,可以设置默认状态和选中状态下的 CheckBox.icon。这就像是翻遍 100 个属性找到您想要的属性那样简单。

  清单 6 展示了为登录屏幕中特定于组件的属性编写代码的 XML。注意要首先定义 imageIcon。然后,通过使用图像图标的 ID,可以为复选框的每种状态设置一个图标。

  清单 6. 定义特定于组件的属性

1 <style id="checkbox">
2    <imageIcon id="check_off" path="images/checkbox_off.png"/>
3    <imageIcon id="check_on" path="images/checkbox_on.png"/>
4    <property key="CheckBox.icon" value="check_off"/>
5    <state value="SELECTED">
6       <property key="CheckBox.icon" value="check_on"/>
7    </state>
8 </style>
9 <bind style="checkbox" type="region" key="Checkbox"/>
0