我有一个项目,我们试图从第三方库中为Spark组件设置外观,这些组件是从绘图API原语构建的。我们的第一次尝试涉及在Illustrator / Flash中创建Flex外观(SWC)并通过CSS将该外观应用于Spark组件。我们发现,即使只有一个组件的一个组件在舞台上以这种方式蒙皮,应用程序也被带到它的膝盖上。例如,它没有及时响应重绘场景,并表现出挂起的所有症状。
我们的下一个方法是在MXML类中重新创建相同的皮肤工件,这些工件又与第三方组件相关联。虽然一些皮肤的复杂性使我相信我们可能无法避免使用这种方法的性能问题。
我的问题如下:是否有正确或推荐的方法将SWC或基于皮肤应用于从Spark绘图API构建的组件开始?即使我问这个问题,我也认识到这种方法意味着在两个地方使用Spark绘图API,可能会产生意想不到的后果。
答案 0 :(得分:0)
我很幸运使用MXML皮肤类来构建皮肤,这些皮肤类在渲染性能方面继承自s:Skin。推荐的方法(来自Adobe)首先从SDK复制现有的皮肤文件并修改MXML以满足您的需要。关于绘图,FXG非常适合定义你想要如何绘制皮肤。 FXG是基于XML的,因此您不需要编写ActionScript来完成绘图,就像我们以前为Flex 3编程皮肤所做的那样。您还可以使用Adobe Catalyst创建外观。我没有使用过Catalyst,所以我不能说它的有效性,但很多人似乎都喜欢它。希望有所帮助。