ÈçºÎ´Ó itemRenderer ÖзÖÅÉʼþ[Flex][·Òë]
ÔÎÄ£ºHow to dispatch an event from a custom item renderer
´Ó MXML ×é¼þÖзÖÅÉʼþ²¢²»À§ÄÑ£¬µ«ÊÇÏëÒª´Ó itemRenderer ÖзÖÅÉʼþ¾ÍûÓÐÄÇôֱ½ÓÁË¡£ÏÂÎÄÖУ¬ÎÒÃǽ«»Ø¹ËÒ»ÏÂÕâÁ½ÖÖÇé¿öµÄ´¦Àí·½Ê½²¢ÕÒ³öÒ»¸öºÏÊʵĽâ¾ö·½°¸¡£
Õý³£Çé¿öÏ£¬µ±ÄãÏë´Ó MXML ×é¼þÖзÖÅÉÒ»¸öʼþʱ»áʹÓÃÈçϵÄÔªÊý¾Ý±êÇ©£º
<!-- дÔÚij¸ö×é¼þÖÐ -->
<mx:metadata>[Event(name="myEvent")]</mx:metadata>
ÔªÊý¾Ý±êÇ©ÈÃÄãÄÜÔÚÁíÒ»¸öÀàÖÐÒÔÈçÏ·½Ê½¼àÌýʼþ£º
<!-- дÔÚµ÷ÓÃÉÏÃæ¶¨ÒåµÄÄǸö×é¼þµÄÀàÖÐ -->
<nw:somecomponent myEvent="onSomeEventHandler(event)"/>
×îºó£¬µ±ÄãÏëÔÚ×é¼þÖзÖÅÉʼþʱ¿ÉÒÔÊÖ¹¤µÄʹÓà dispatchEvent() ·½·¨À´·ÖÅÉ¡£
µ«ÊÇÈç¹ûÄãÊÇÏë´ÓÒ»¸ö×÷Ϊ itemRenderer µÄ×é¼þÖзÖÅÉʼþµÄ»°»áÈçºÎÄØ£¿¿¼ÂÇÒ»ÏÂÒÔϵÄÇé¿ö£º
ÔÚ Flex Ó¦ÓóÌÐòÖÐн¨Ò»¸ö List ×é¼þ¡£È»ºóн¨Ò»¸ö°üº¬ÓÐ RadioButton µÄ×é¼þÓÃÓÚ List µÄ itemRenderer¡£µ±Óû§µ¥»÷ RadioButton ʱ£¬¿ÉÄÜÄã»áÏëÈÃËûµÄ¸¸×é¼þ List ²úÉúÒ»¸öʼþ¡£
µ«ÊÇÈçϵĴúÂë»á²úÉúÒ»¸ö±àÒëÆ÷´íÎó£¬ÒòΪ List ×é¼þ²¢Ã»ÓГmyEvent”ÊôÐÔ£º
<!-- »á²úÉúÒ»¸ö±àÒëÆ÷´íÎó -->
<mx:list id="myList" dataprovider="{listData}"
itemRenderer="uk.nwebb.CustomRenderer"
myEvent="onSomeEventHandler(event)" />
ÓÉÓÚÎÒÃDz¢Ã»ÓÐʵÀý»¯×Ô¼ºµÄ itemRenderer£¬ÈçºÎ²ÅÄÜ»ñµÃ¹ã²¥³öÀ´µÄʼþÄØ£¿ÒªÏëʵÏÖÕâÑùµÄ¹¦ÄÜ£¬±ØÐëͨ¹ýÏÂÃæµÄÁ½¸ö²½Ö裺
Ê×ÏÈ£¬ÎÒÃDZØÐëÈÃÎÒÃÇ·ÖÅɵÄʼþÉϸ¡£¬Ö»ÒªÔÚ·½·¨ÖÐÌí¼ÓһЩ¶øÍâµÄ²ÎÊý¾Í¿ÉÒÔ×öµ½¡£ÈçÏÂÉèÖà bubble ºÍ cancelable ²ÎÊý£º
//дÔÚij¸ö×é¼þÖÐ
dispatchEvent("myEvent", true, true);
//ÓÉÓÚÔÎıȽÏÀÏ£¬ÉÏÃæÕâ¸öд·¨ÊÇ Flex 2 µÄ¡£Flex 3 µÄºóÃæÁ½¸ö²ÎÊýÒª¸³µ½ Event ʵÀýÀïÃæ¡£
//Flex 3 ´úÂëÈçÏÂ
dispatchEvent(new Event("myEvent", true, true));
ÏÖÔÚ List ×é¼þÈÔÈ»»¹ÊÇûÓÐ myEvent ÊôÐÔ¡£ÎªÁËÄÜÈà List ×é¼þ½ÓÊÕµ½ÉÏÃæ·ÖÅɵÄʼþ£¬ÎÒÃDZØÐëÈ·±£Õâ¸ö List ×é¼þÓÐ ID£¬È»ºó¿ÉÒÔÔÚ³õʼ»¯º¯Êý»òÕß creattionComplete º¯ÊýÖаó¶¨Ê¼þ£º
//дÔÚ´´½¨ List ×é¼þµÄÀàÖÐ
private function onInit():void
{
myList.addEventListener("myEvent", myEventHandler);
}
¾ÝÎÒËù
Ïà¹ØÎĵµ£º
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flashx.textLayout.formats.BackgroundColor;
import spark.effects.interpolation.RGBInterpolator;
public class Map extends Sprite implements IMap
{
//¸ñ×ӵĿí¸ß
private va ......
×î½üÓÃflexÀ´×öÒ»¸ö¹¤×÷Á÷¶¨Òå±à¼Æ÷¡£ÔÚÍøÉÏÕÒÁ˺ܶàÀý×Ó£¬Ò²Ñ§µ½Á˲»ÉÙ¶«Î÷¡£
flexÊÇadobe¹«Ë¾³öµÄ¶ÔÓÚflashµÄÒ»¸ö²úÆ·¡£¶ÔÓÚѧ¹ýjavaµÄÈËÀ´ËµÔÙ¼òµ¥²»¹ýÁË¡£ÕâÀïÒ²²»¶à˵ÁË£¬¾Í¶ÔÓÚÕ⼸ÌìÔÚÏîÄ¿ÖÐÓöµ½µÄÎÊÌâ̸һÏÂ×Ô¼ºµÄ½â¾ö·½·¨ÓëÈÏʶ¡£
Ò»¡¢flexÖн«×Ô¼ºµÄÒ»¸öCanvas±ä³ÉΪͼƬ£¬±£´æµ½±¾µØ¡£
var bitmapData ......
Flex3ÑùʽÉè¼Æ¹¤¾ß(Flex Explorer) ˵Ã÷£º
Flex Explorer·Ç³£ÊʺϳõѧÕßʹÓã¬Ëû¿ÉÒÔÈÃÄã¿ìËÙÉÏÊÖFLEXÉè¼Æ¡£AIRIA
½« Flex3 component Explorer ,Flex Style Explorer,Flex Filter Explorer,Flex Primitive Explorer´ò°üÌṩÏÂÔØ¡£ÆäÖÐ Flex3 component Explorer
°üº¬ÁËFLEX¾ ......
»ùÔªÊý¾ÝÀàÐͰüÀ¨ Boolean¡¢int¡¢Null¡¢Number¡¢String¡¢uint ºÍ void¡£ActionScript ºËÐÄÀ໹¶¨ÒåÏÂÁи´ÔÓÊý¾ÝÀàÐÍ£º
Object¡¢ Array¡¢Date¡¢Error¡¢Function¡¢RegExp¡¢XML ºÍ XMLList¡£
Boolean Êý¾ÝÀàÐÍ
Boolean Êý¾ÝÀàÐͰüº¬Á½¸öÖµ£ºtrue ºÍ false¡£¶ÔÓÚ Boolean ÀàÐ͵ıäÁ¿£¬ÆäËüÈκÎÖµ¶¼ÊÇÎÞЧµÄ¡£Ò ......
//1.¸´ÖÆÄÚÈݵ½ÏµÍ³¼ôÌù°å
System.setClipboard(strContent);
//2.¸´ÖÆÒ»¸öArrayCollection
//dummy solution( well, it works )
var bar:ArrayCollection = new ArrayCollection();
for each ( var i:Object in ac ){
bar.addItem( i ); }
// fantastic ! //
var bar:ListCollecti ......