是否可以使用Flex框架和组件,而不使用MXML?我非常了解ActionScript,并且不想像在使用一些新的XML语言一样搞砸一些简单的UI。任何人都可以提供一个由.as文件组成的示例,可以编译(理想情况下是通过FlashDevelop,虽然只是告诉如何使用Flex SDK也可以),并使用Flex Framework?例如,只是显示一个弹出的按钮弹出一个警报将是完美的。
@H_403_2@如果不可能,有人可以提供一个最小的MXML文件,这将引导一个自定义AS类,然后可以访问Flex SDK?
解决方法
我做了一个类似于Borek的简单引导(见下文)。我想要摆脱mxml文件,但如果我没有,我不会得到Flex(haloclassic.swc等)附带的任何标准主题。有人知道如何做这个建议,还有标准主题应用吗?
@H_403_2@这是我简化的自举方法:
@H_403_2@main.mxml
<?xml version="1.0" encoding="utf-8"?> <custom:ApplicationClass xmlns:custom="components.*"/>@H_403_2@ApplicationClass.as
package components { import mx.core.Application; import mx.events.FlexEvent; import flash.events.MouseEvent; import mx.controls.Alert; import mx.controls.Button; public class ApplicationClass extends Application { public function ApplicationClass () { addEventListener (FlexEvent.CREATION_COMPLETE,handleComplete); } private function handleComplete( event : FlexEvent ) : void { var button : Button = new Button(); button.label = "My favorite button"; button.styleName="halo" button.addEventListener(MouseEvent.CLICK,handleClick); addChild( button ); } private function handleClick(e:MouseEvent):void { Alert.show("You clicked on the button!","Clickity"); } } }@H_403_2@以下是使用Flex 4的必要更新: @H_403_2@main.mxml
<?xml version="1.0" encoding="utf-8"?> <local:MyApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:local="components.*" />@H_403_2@MyApplication.as
package components { import flash.events.MouseEvent; import mx.controls.Alert; import mx.events.FlexEvent; import spark.components.Application; import spark.components.Button; public class MyApplication extends Application { public function MyApplication() { addEventListener(FlexEvent.CREATION_COMPLETE,creationHandler); } private function creationHandler(e:FlexEvent):void { var button : Button = new Button(); button.label = "My favorite button"; button.styleName="halo" button.addEventListener(MouseEvent.CLICK,handleClick); addElement( button ); } private function handleClick(e:MouseEvent):void { Alert.show("You clicked it!","Clickity!"); } } }