1.mxml 支持两种界面组件:控件和容器
控件:按钮,下拉框,文本
容器:容器是矩形框,里面可放控件或子容器,常见容器有:
HBOX: 对子组件水平布局
VBOX:对子组件垂直布局
Grid:使用列和行对子容器布局
导航容器:
ViewStack:与TabNavigator 和Accordion容器一样,每次只有一个子容器可见,默认情况不具备导航机制
TabNavigator:比容器包括一个子容器集合,其中每次只显示一个子容器,Flex自动在顶部创建一个TabBar容器,每个选项卡对应一个子容器。
Accordion:此容器包括一个子容器集合,其中每次只显示一个子容器,与TabNavigator不同在于此容器具有多个可折叠标题的导航按钮
2.xml命名空间:
如果使用不是默认命名空间之外的自定义组件(标签)时,在根标签中添加<mx:Application xmlns=
http://www.adobe.com/2006/mxml verticalAlign="middle" horizontalAlign="center" xmlns="*" xmlns:view="mycomponents.view.*"> <view:Mycomponent/></mx:Application>
3. 数据绑定:将一个对象中的数据链接到另一个对象
数据绑定三种方法:使用大括号{};在mxml中使用<mx:Binding>标签;在ActionScript中使用静态BindingUtils;
数据绑定需要源属性、目标属性和事件
4.RPC服务:flex提供了三种rpc服务组件
WebService组件:提供基于soap的web service 访问
HttpService组件:提供基于自定义数据返回的http url访问
RemoteObject组件:提供基于AMF协议的对于java,php,asp.net的对象访问
5.MXML 命名约定:
文件名只能用字母或下划线开头,其后只能包括字母数字和下划线
文件名不能与mx命名空间中的mxml标签相同,其它与java命名规范相同
6.ActionScript调用控件的方法
使用id属性直接使用
如果没有id属性,可以使用组件容器法调用,即getChildAt()和getChildByName()。例:
<mx:script>
<![CDATA[
import mx.controls.Alert;
import mx.controls.TextInput;
public function getText():String{
var name:String = TextInput(getChildAt(0)).name;
var text:String = TextInput(getChildByName(name)).text;
}
]]>
</mx:script>
<mx:TextInput text="hello world"/>
<mx:Button label="Get Text" click="Alert.show(getText())"/>
另一种调用组件的方法是使用关键字,即this["myTextInput"]
<mx:script>
<![CDATA[
import mx.controls.Alert;
import mx.controls.TextInput;
public function getText():String{
return this["myTextInput"].text;
}
]]>
</mx:script>
<mx:TextInput id="myTextInput" text="hello world"/>
<mx:Button label="Get Text" click="Alert.show(getText())"/>
posted on 2011-01-12 15:27
长春语林科技 阅读(321)
评论(0) 编辑 收藏 所属分类:
flex