[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
Спасибо за мега полезную инфу.