Flex中的自定义形状面板/窗体

时间:2009-05-21 15:55:08

标签: flex

我要做的是创建一个花哨的自定义形状的登录面板。它的功能和包含组件应该是非常标准的,就像常规登录面板 - FormItem,TextInput,Validators等一样。我做了一些研究,发现可以使用Fireworks创建皮肤,但这并不能解决我的问题,因为它不允许我操纵面板形状。最好的方法是什么?

3 个答案:

答案 0 :(得分:1)

我的建议是使用Degrafa framework来做这样的事情。您可以在运行时以编程方式影响组件的外观以更改其形状。

另一种方法是使用一个简单的画布,其图像背景符合您的需求,但这不是很灵活。

答案 1 :(得分:1)

我会做以下事情:

  1. 将资产从Fireworks导出为具有适当透明度的PNG
  2. 将资源嵌入您的应用并提供相应的Scale9坐标
  3. 将嵌入资源引用为Panel的“borderSkin”样式。
  4. 以下是对TitleWindow执行此操作的示例,TitleWindow是Panel的子类,因此应采用相同的方法:

    http://butterfliesandbugs.wordpress.com/2008/02/15/using-a-border-skin-for-a-titlewindow-in-flex-3/

答案 2 :(得分:0)

我同意Joel的说法,Degrafa是获取全部自定义皮肤的方法等。如果失败了(因为这是一个额外的障碍)我会捏造它使用Canvas而不是Panel。扩展Canvas类,使其看起来像你想要做的任何形状。将Canvas的背景alpha设置为0,然后添加所需的形状。使用这种方法你可能不得不复制面板可以做的事情,Cavnas不能,但你可以自定义外观。