`

Flex/AIR开发记要——代码篇

阅读更多

一、样式、皮肤相关

1. 自定义ToolTip,详见 Flex/AIR个性化——ToolTip

 

2. 自定义ProgressBar样式,详见 Flex/AIR个性化——ProgressBar

 

 

二、其他

1. 读取资源文件中的项值:

1) 不带占位符的资源项:

     <mx:Label text="{resourceManager.getString('common ', 'app.name' ) }"/>

     common 为该资源文件名称(不包括后缀名properties),app.name 为其中的项的名称。

2) 带占位符的资源项:

     若资源项 message. range =范围从{0}到{1} ,则可通过如下方式读取,a 将替换 { 0} b 将替换 {1}

     resourceManager.getString("common ", "message.range ", [ a, b ])

 

2. 加载图片的几种方式:http://coffeelover.iteye.com/blog/891894

 

3. 图片的拉伸方法:(九宫格原理)



    拉伸对应的代码为:

<mx:Image width="200" height="200" source="@Embed(source='/assets/tsj.jpg', 
			  scaleGridTop='1', scaleGridBottom='2', 
			  scaleGridLeft='1', scaleGridRight='3')"/>

 

4. data model 对象中的关联属性问题:

当被关联属性改变时,其他关联属性并不会自动进行相应更新,需要在被关联属性的set方法中增加如下处理:

 

var ce:PropertyChangeEvent = 
          PropertyChangeEvent.createUpdateEvent(this, propertyName, oldValue, newValue);

dispatchEvent(ce);

 

5. 将 <s:ButtonBar> 中的button宽度设为相同:

设置其 layout 的 variableColumnWidth 属性为 false,如:

<s:layout>
	<s:HorizontalLayout variableColumnWidth="false" />
</s:layout>

 

6. ButtonBar

1) 要对 ButtonBar 的某个button 的click 进行特殊处理时,可通过捕获 changing 事件,然后阻止默认来实现,如:

private function buttonbar_changingHandler(event:IndexChangeEvent):void
		{
			if (event.newIndex == event.target.dataProvider.length - 1) // last button
			{
				event.preventDefault();
				// do something
			}
		}

2) requireSelection="false" 的 ButtonBar 清除按钮选中状态:以 ButtonBar 的click处理函数为例:

function buttonBar_clickHandler(event:MouseEvent):void
{
    // 2个语句缺一不可
    ButtonBar(event.currentTarget).selectedIndex = -1;
    ButtonBarButton(event.target).selected = false;
}

 

7. 设置 spark FormItem 的 label 的水平对齐方式为 右对齐(与mx的form组件不同,需通过样式进行设置):

s|Form s|FormItem #labelDisplay {
	textAlign: right;
}

 

8. 设置模态弹出窗口的背景色等,通过样式进行设置:

global {
	modalTransparencyBlur: 0;
	modalTransparency: 0.5;
	modalTransparencyColor: grey;
	modalTransparencyDuration: 500;
}

 

9. 用Path画一个向下的小三角:

<s:Graphic width="12" height="8">
	<s:Path data="L 8 0 L 4 6 L 0 0">
		<s:fill>
			<s:SolidColor color="0x000000"/>
		</s:fill>
	</s:Path>
</s:Graphic>

 

10. mobile应用中,打开或关闭view menu:

FlexGlobals.topLevelApplication.viewMenuOpen = true; // true for open

 

11. AIR应用开机自启动(Windows/Linux平台下已测试,it works):

if (!Capabilities.isDebugger)
{
    try 
    {
        NativeApplication.nativeApplication.startAtLogin = true;
     }
    catch (error:Error)
    {
        // log
    }
 }

   注:1) 如果在 debug 模式下运行,将抛出:Error #2014: Feature is not available at this time.

         2) 绿色方式运行时,也会有 Error #2014.

 

  • 大小: 22.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics