flex 了解的一些细节

11.显示红色的*

<mx:Form >
     <mx:FormItem label="CDR編碼" required="true">
      <s:TextInput id="add_extCode"/>
     </mx:FormItem>

</mx:Form>

 

1.单选按钮:
<s:RadioButton id="dayRadio" label="日報" click="if(dayRadio.selected)this.currentState = 'day'"  selected="true"/>

2.日期:
<mx:DateField excludeFrom="month" id="dateField" formatString="YYYY-MM-DD"/>

3.上下滚动条:
<s:Scroller width="100%" height="100%">

4.Label: 设定宽度才会自动换行
 <s:Label textAlign="justify" width="280" verticalAlign="justify"

5.SKin:
<!-- background fill --> 整个组件从上到下渐变
 <s:Rect left="0" right="0" bottom="0" top="0" >
  <s:fill>
   <s:LinearGradient rotation="90" >
    <s:GradientEntry color="0xFFFFFF" />
    <s:GradientEntry color="0x1a1919" />
   </s:LinearGradient>
  </s:fill>
 </s:Rect>

 <!-- title bar fill -->   高度30的长方形
 <s:Rect left="0" right="0" top="0" height="30">
  <s:fill>
   <s:LinearGradient rotation="90">
    <s:GradientEntry color="0x000000" />
    <s:GradientEntry color="0xC0C0C0" />
   </s:LinearGradient>
  </s:fill>
 </s:Rect>

6.改变默认的Panel样式:
<s:Panel width="100%" height="100%"
    skinClass="zw.test.scroller.skins.MyPanelSkin"
    title="Scroller Sample">

7.悬浮窗口(类似于title): mxml文件实现IToolTip接口
<?xml version="1.0" encoding="utf-8"?>
<mx:Box xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="{getHeight(gridData)}"
  implements="mx.core.IToolTip" >

8.监听DataGrid的Item的事件:
allAlarmInfos.cudg.addEventListener(ListEvent.ITEM_CLICK, alarmSelectHandler);

9. 垂直方向居中:
<s:Group width="100%" top="0" bottom="0"  >
    <s:layout>
     <s:HorizontalLayout  verticalAlign="middle" />
    </s:layout>

10.包装一个Button:
public class LinkBtnItmRender extends LinkButton

回调函数: 可以解决这样的一个问题:在actionscript类中调用页面mxml中的函数
if(viewObj.hasOwnProperty('lnkBtnHandler')){
    (view['lnkBtnHandler'] as Function).call(viewObj['lnkBtnHandler'],data,type);
   }

11.圆角:<s:Rect id="myMain" radiusX="4" radiusY="4">
Rect矩形(圆角矩形),以下是基本的一些属性:

width <length>: 矩形的宽度。
height <length>: 矩形的高度。
radiusX <length>: 圆角矩形,圆角在X轴椭圆半径的弯道,此值四舍五入。
radiusY <length>: 圆角矩形,圆角在y轴椭圆半径的弯道,此值四舍五入。
rotation <Number>: 旋转角度,正数为顺时针,负数为逆时针。
scaleX <Number>: x轴缩放,1为100%。
scaleY <Number>: y轴缩放,1为100%。

12.滤镜:
DropShadowFilter(阴影滤镜)
<s:filters>
  
 <s:DropShadowFilter alpha="0.5" distance="1.2" quality="2" excludeFrom="down"/>
  
</s:filters>


14.七、渲染(ItemRenderer)

1、内联渲染的写法

<mx:datagrid>
<mx:itemrenderer>
<mx:Component>
<mx:Image/>  //这里是要渲染的元素

</mx:Component>

</mx:itemrenderer>

</mx:datagrid>

2、对于独立的渲染类,要更新数据,可以重写data方法,如:

override public function set data(value:object)

可以用于字段为空时,显示的内容等


15.八、检测图片是否存在的方法

用UrlLoader,监听Compleate(图片存在)的IOError(图片不存在)事件,不存在时可以用默认图片代替


九、FB常用技巧

ctrl+shift+c 注释MXML代码段,及as代码段
ctrl+shift+p 跳转到大扩号的另一端
调整某行(或多行)的位置,可以用alt+上下箭头

 

16.在flex经常会指定某个可拖动对象在可拖动区域中拖拽,可以指定拖动对象的rectangle,代码如下:


//指定区域

var dragRect:Rectangle = new Rectangle(0,0,200,200);

slider.startDrag(false,dragRect);

 

17.获取窗口大小:
screen.width

 

18.子窗口指定父窗口State:
Application.application.currentState = "index";

 

19.initialize 比 creationComplete先执行
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  initialize="init()"   creationComplete="initApp()"

 

20.如果你想为子项间增加间隔,你可以为容器设置horizontalGap或verticalGap属性。你也可以用Spacer组件来调节间隔;设置高度和宽度正负值来增加或减少间隔大小

 

 

 

你可能感兴趣的:(Flex,Adobe,actionscript)