首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex 数据绑定有关问题

2012-03-30 
flex 数据绑定问题Java code[Embed(img/bg5.jpg)]private var pb:Class其中 “img/bg5.jpg” 如何动态绑

flex 数据绑定问题

Java code
                         [Embed("img/bg5.jpg")]        private var pb:Class;



其中 “img/bg5.jpg” 如何动态绑定 ???急,谢谢

[解决办法]
如果你是用Image等控件去加载图片,就需要用到控件的Load方法,这样才是动态的。Embed是嵌入式,编译程序的时候就已经加载进去了,是没法改变的
[解决办法]
探讨

如果你是用Image等控件去加载图片,就需要用到控件的Load方法,这样才是动态的。Embed是嵌入式,编译程序的时候就已经加载进去了,是没法改变的

[解决办法]
探讨

如果你是用Image等控件去加载图片,就需要用到控件的Load方法,这样才是动态的。Embed是嵌入式,编译程序的时候就已经加载进去了,是没法改变的

[解决办法]
探讨
"如果你是用Image等控件去加载图片,就需要用到控件的Load方法,这样才是动态的。" 不懂,请hrabeyond给段代码,解释一下,谢谢了

[解决办法]
资源的载入分编译时载入和运行时载入,用了Embed标签就肯定会编译时载入,运行时载入的话就是运行时去请求图片资源, 象image,直接将图片的url给source属性,它就会自己去载入指定路径的图片,看你这个class是想用在哪里了,推荐你一个工具类IconUtility,可以动态获得图片的class,但与使用图片的控件关系很大,象Button的icon就可以用,象系统光标图标就不能用,自己看看吧,也许用的上
http://www.flexrain.cn/flex/flex-iconutility-icon.html
[解决办法]
探讨
谢谢 5楼的,我还想问 这个动态的 img 对象如何绑定到 private var pb:Class; 这个 pb对象上面呢?谢谢

[解决办法]
这样估计就写死了.

看看看这个

<?xml version="1.0" encoding="utf-8"?>
<s:Application name="Spark_Border_backgroundImage_dynamic_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo">
<s:controlBarContent>
<s:Button label="ColdFusion" click="swfLdr.load('cf_appicon-tn.gif');" />
<s:Button label="Flash Player" click="swfLdr.load('fl_player_appicon-tn.gif');" />
<s:Button label="Flex" click="swfLdr.load('fx_appicon-tn.gif');" />
<s:Button label="Adobe" click="swfLdr.load('http://helpexamples.com/flash/images/logo.png');" />
</s:controlBarContent>
 
<fx:Script>
<![CDATA[
protected function swfLdr_completeHandler(evt:Event):void {
brdr.setStyle("backgroundImage", swfLdr.content);
}
]]>
</fx:Script>
 
<fx:Declarations>
<mx:SWFLoader id="swfLdr" complete="swfLdr_completeHandler(event);" />
</fx:Declarations>
 
<s:Border id="brdr"
backgroundImageFillMode="repeat"
borderColor="haloOrange"
borderWeight="10"
width="320" height="240"
horizontalCenter="0" verticalCenter="0">
<s:Label id="sdkVer"
color="haloOrange"
fontSize="48"
fontWeight="bold"
left="20" top="20"
creationComplete="sdkVer.text = mx_internal::VERSION;" />
</s:Border>
 
</s:Application>

可以动态加载的.


[解决办法]
看下API backgroundImage的说明,你就明白了。
backgroundImage :组件的背景图像。此样式可以是绝对或相对 URL 或类

你不用类,用URL就ok了呗。下面是例子

XML code
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" backgroundImage="{imgURL}">    <mx:Script>        <![CDATA[            [Bindable]            private var imgURL:String = null;            private function changeBackgroundImage(url:String):void             {                imgURL = url;            }        ]]>    </mx:Script>        <mx:Button label="test" click="changeBackgroundImage('img/allLeft.jpg')"/>    <mx:Button label="test" click="changeBackgroundImage('img/allRight.jpg')"/></mx:Application>
[解决办法]
补充一下:
如果不用绑定,可以用this.setStyle("backgroundImage", imgURL);// imgURL是图片的路径
[解决办法]
setStyle这个方法尽量少用或者不用,很影响效率的方法。参考API

热点排行