[MXML] Как сделать setter, который принимает числовое значение и значение в процентах?
Вы никогда не задумывались как может setter (в mxml), например width, который принимает Number, может принимать значения вида ‘50%’?
А всё очень просто
Существует метатег [PercentProxy], который как параметр принимает имя метода, который будет задействован, если значение будет задано в процентах.
Пример. Созданим класс FleasCatcher:
- package
- {
- import mx.containers.Canvas;
- public class FleasCatcher extends Canvas
- {
-
- [PercentProxy(”percentFleasCountInMyHead“)]
-
- public function set fleasCountInMyHead(value:Number):void
-
- {
-
-
- trace(”number: “+value);
-
-
- }
-
- public function set percentFleasCountInMyHead(value:Number):void
-
- {
-
-
- trace(”percent: “+value);
-
-
- }
- }
- }
Теперь мы можем написать так:
- <?xml version=”1.0″ encoding=”utf-8″?>
- <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” xmlns:local=”*”>
- <local:FleasCatcher fleasCountInMyHead=”1000” />
- </mx:Application>
Или так:
- <?xml version=”1.0″ encoding=”utf-8″?>
- <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” xmlns:local=”*”>
- <local:FleasCatcher fleasCountInMyHead=”99%” />
- </mx:Application>
Таґи: MXML, setter, [PercentProxy]
март 11, 2008 в 21:23
Спасибо за мега полезную инфу.