Apache flex Flex中的自定义形状面板/形状

Apache flex Flex中的自定义形状面板/形状,apache-flex,Apache Flex,我想做的是创建一个奇特的定制登录面板。它的功能和包含的组件应该是相当标准的,就像在常规登录面板中一样-FormItem、TextInput、Validators等。我做了一些研究,发现可以使用Fireworks创建皮肤,但是这并不能解决我的问题,因为它不允许我使用面板形状进行操作。最好的方法是什么?我的建议是使用这种方法。您可以在运行时以编程方式影响组件的外观以更改其形状 另一种方法是使用简单的画布,其图像背景符合您的需要,但这不是很灵活。我将执行以下操作: 将资源从Fireworks导出为具有

我想做的是创建一个奇特的定制登录面板。它的功能和包含的组件应该是相当标准的,就像在常规登录面板中一样-FormItem、TextInput、Validators等。我做了一些研究,发现可以使用Fireworks创建皮肤,但是这并不能解决我的问题,因为它不允许我使用面板形状进行操作。最好的方法是什么?

我的建议是使用这种方法。您可以在运行时以编程方式影响组件的外观以更改其形状


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

我将执行以下操作:

  • 将资源从Fireworks导出为具有适当透明度的PNG
  • 将资产嵌入应用程序并提供适当的Scale9坐标
  • 将嵌入资源作为面板的“borderSkin”样式进行引用
  • 下面是一个对TitleWindow执行此操作的示例,TitleWindow是Panel的子类,因此应采用相同的方法:


    我同意Joel的观点,Degrafa是一种完全定制皮肤的方法。如果不能做到这一点(因为这是一个额外的障碍),我会用帆布而不是面板。扩展Canvas类,使其看起来像您试图做的任何形状。将画布的背景alpha设置为0,然后添加所需的形状。使用这种方法,您可能需要复制面板可以做的事情,而Cavnas无法做到,但您可以定制外观。

    我尝试更改面板的背景图像,但几乎可以。。。但正如你所说,它不是很灵活,在PDA上显示时会出现问题。我看过Degrafa框架,它看起来不错,但我相信我需要一段时间才能弄清楚它是如何工作的。谢谢你的回复!