Spark Skinning Spark 皮肤制作
可以通过编辑现存的皮肤类或者建立一个新的皮肤类来制作一个Spark组件的皮肤。更多关于MX组件的皮肤制作,请看Skinning MX components.
- 关于spark皮肤
- 从源文件中制作皮肤
- 制作Spark组件皮肤
- 制作Spark容器皮肤
- 切换皮肤
- 转换Spark皮肤
- 子组件皮肤
- 打包皮肤
可以通过编辑现存的皮肤类或者建立一个新的皮肤类来制作一个Spark组件的皮肤。更多关于MX组件的皮肤制作,请看Skinning MX components.
Adobe Flex 4 ActionScript 3.0 语言参考中文完整版,html格式
所有 Spark 容器都支持可指定布局。
原文:http://www.adobe.com/cn/devnet/flex/articles/flex4_sparkintro_05.html
要将 MX 导航器(ViewStack、Accordion、TabNavigator)用于 Spark 组件,导航器的子代应当是一个 NavigatorContent 组件。否则,您无法在 MX 导航器中使用 Spark 基元。此处是一个示例:
<mx:ViewStack id="vs" selectedIndex="{tb.selectedIndex}">
<s:NavigatorContent label="bar">
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:Label text="bar" />
<s:TextInput />
</s:NavigatorContent>
</mx:ViewStack>
Flex 4 将状态功能升级为一个全面的 MXML 语言功能。因此,您可能会发现状态更灵活、更直接。新的状态语法内联程度更高,允许在上下文中指定状态特定变化。以下是 Flex 4 语法中的主要区别:
AddChild 和 RemoveChild。您必须使用 includeIn 和 excludeFrom 属性在组件上定义组件在特定状态中的角色。 在以下 Flex 3 示例中,仅当文档的 currentState 为 submitState 时,才使用状态包含一个 Button 并删除一个 TextInput。对于较复杂的状态,这种方法可以做到十分详细。
<mx:states>
<mx:State name="submitState" basedOn="">
<mx:AddChild relativeTo="{loginForm}" >
<mx:Button label="submit" bottom="10" right="10"/>
</mx:AddChild>
<mx:RemoveChild target="{firstTextInput}"/>
</mx:State>
</mx:states>
<mx:TextInput id="firstTextInput" />
<mx:Canvas id="loginForm" />
以下是一段使用 includeIn 和 excludeFrom、更简单的 Flex 4 代码。
<s:states>
<s:State name="submitState" />
</s:states>
<s:TextInput id="firstTextInput" excludeFrom="submitState" />
<s:Group id="loginForm" >
<s:Button label="submit" bottom="10" right="10" includeIn="submitState"/>
</s:Group>
SetProperty、SetStyle 和 SetEventHandler 已替换为新的点语法,它允许您限定具备特定状态标识符的 MXML 属性值。 在以下 Flex 3 示例中,代码为 submitState 中的一个 Button 定义了属性、样式和事件。
<mx:states>
<mx:State name="submitState" basedOn="">
<mx:SetProperty target="{submitButton}" name="label" value="submit" />
<mx:SetStyle target="{submitButton}" name="textDecoration" value="underline"/>
<mx:SetEventHandler target="{submitButton}" name="click" handler="trace('done');"/>
</mx:State>
<mx:State name="clearState" basedOn="">
<mx:SetProperty target="{submitButton}" name="label" value="clear" />
<mx:SetEventHandler target="{submitButton}" name="click" handler="emptyDocument()" />
</mx:State>
</mx:states>
<mx:Button id="submitButton" />
在 Flex 4 中,代码如下:
<s:states>
<s:State name="submitState" />
<s:State name="clearState" />
</s:states>
<s:Button label.submitState="submit" textDecoration.submitState="underline"
click.submitState="trace('done')" click.clearState="emptyDocument()"
label.clearState="clear" textDecoration.clearState="none"/>
此外,各个组件现在支持外观类中定义的一组状态,这使得根据组件状态应用可视变化更加简单。例如,如果查看 Spark Button 的外观,您会发现已定义以下状态:
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
ButtonSkin 类定义了各个状态中 Spark Button 在可视方面的变化
“用心设计”主题最大的特点是新的外观和组件架构,它称为 Spark。Spark 以现有的 MX 架构为构建基础,它为开发人员和设计人员提供一个表达性更高的机制,帮助他们共同处理 Flex 应用程序的外观。Spark 目前包含约 30 个新组件和基元,形成了 Adobe 下一代组件的基础并准备与 Adobe Flash Catalyst 轻松集成。该发行版包含为新架构规划的几乎所有组件。Spark 不会提供 MX 中的各个组件版本。由于 Spark 的构建基础与 MX 组件相同,所有现有 MX 组件可以与新架构轻松实现互操作。有关架构的更多信息,请阅读 Deepa 的文章 Spark 架构和组件集简要概述*。
人们感兴趣的另一点是对 Flash Platform 新交换格式 FXG 的支持。除了支持在 Flex 应用程序中直接使用 FXG,Flex 框架还包含与 FXG 中的标签对齐的图形基元。这些图形基元可以在您的 Flex 应用程序中直接使用,并且支持与更传统的 Flex 组件相关的所有运行时可编辑性。为了支持高性能图形,Adobe 还允许编译器将静态 FXG 直接优化为 Flash Player 可直接识别的 SWF 标签。这样,您就可以使用自己喜欢的编辑器灵活编辑图形标签,同时获得重要的高性能。进一步了解 FXG*。
Spark 架构还包含一个更新的、更灵活的布局模型。新的、运行时可指定的布局包含对 2D 旋转和刻度的全面支持,还可以在布局后将 Flash Player 10 新的 3D 功能应用于任何组件。这一新的布局机制不仅仅可以在 List 类中,也可以在普通容器模型中支持虚拟化(再见,喜怒无常的重复器!)。它还为任何容器或列表提供顺畅的滚动支持。进一步了解 Spark 容器*和布局*。
最后,Spark 引入了一个经过改进的新动画引擎,将它作为更佳效果和过渡的基础。Flex 4 支持过渡自动反向、将 Pixel Bender 过滤器应用为效果、在所有三个平面中变形和基于复杂关键帧的动画。您可以查看样本应用程序中的具体效果,阅读文档*和 Chet Haase 的文章(第 1 部分*和第 2 部分*)进一步了解 Spark 效果。
我们知道 Flex 需要做出改进的一个方面是状态。我们相信状态概念很容易理解,但在 Flex 3 中进行实施并非那么简单。因此,Adobe 在 Flex 4 中做出了一些新的 MXML 语言改进,使它可以更轻松地与状态配合。
为了支持新模型,我们将 MXML 语言升级为 MXML 2009,同时对 MXML 略作改进,使它能支持更好的工具,同时保持支持使用简单的文本编辑器进行编辑的承诺。进一步了解 MXML 2009* 和新的状态语法*。
在开发人员工作效率主题中,我们侧重于编译器性能。我们对常见用例实施了许多优化,并且效果取得了实质性的提高。我们还对 ASDoc 工具做出了许多改进,包括对 MXML 文档中的 ASDoc 的支持,这是一项普通功能请求。绑定经过升级,现在支持双向通信;只要在绑定表达式前面放一个 @,对绑定目标的更新即可复制回源。呼声最高的一项请求,同时也是一个令人兴奋的功能,即支持更多 CSS 选择器,其中包括基于子代和 ID 的选择器。请务必阅读相关文档,进一步了解这些改进。
最后,我们知道需要继续发展 Flex 框架,甚至超越 Spark 架构。为此,我们为 Flex 4 改进了 Flex 应用程序中的视频使用。Spark 包含一个无主色的 Video 组件 VideoDisplay 和一个无外观的 VideoElement 包装器 VideoPlayer。这两个类都以开放源媒体框架的视频类为构建基础。开发人员现在可以轻松地将视频放入应用程序中,然后自定义外观。进一步了解 OSMF*。
Flash Player 10 的强大功能之一是新的文本引擎以及与之相关的文本布局框架。我们会将文本引擎与文本布局框架直接并入 Flex 框架中,为 Spark 创建出新的文本控件,同时为 MX 控件提供基本曝光。新的文本控件支持双向文本,虽然它并未包含在本发行版中,我们很快将为 Flex 添加镜像支持,在下一个次要发行版中为 Flex 应用程序实现所有区域设置。您还会发现我们已经将 HTML 模板从基于之前的 Adobe Flash Player Detection Kit 转为开放源 SWFObject 项目,这是另一个呼声较高的请求
原文:http://www.adobe.com/cn/devnet/flex/articles/flex4sdk_whatsnew.html
今天在使用DragManager时,放下后程序卡的要命,经过好几个小时的检查的排查,原来是被拖的图像组件中有很多少找不到的路径,后来把这些找不到的路径直接设置为’’空字符串,问题终于解决了,好郁闷啊。
LinkBar
{
linkButtonStyleName:linkButtonStyleName1
}
.linkButtonStyleName1
{
fontWeight: normal;
}