Июнь 5th, 2007 от graann

При большом количестве меток (да и вообще компонент) и частой их отрисовке вы непременно столкнетесь с тормозами. В случае с метками есть альтернатива в лице mx.core.UITextField, которой и посвящен этот пост. Что нас привлекает в mx.controls.Label? Возможность отобразить некий текст и применить к нему стили. UITextField нам эти возможности предоставляет так же. Однако есть одна тонкость. Как работать со стилями если:

public function setStyle(styleProp:String, value:*):void - Does nothing. A UITextField cannot have inline styles.

Не очень понятно зачем вообще нужен этот метод если он ничего не делает. Была мысль, что он описан в каком-то из имплементящихся интерфейсов, но подтверждения этому в коде найти не удалось. Впрочем я отвлеклась. Ну так как же работать со стилями? Да в общем точно так же, только через свойство styleName.

styleName:Object [read-write] - The class style used by this component. This can be a String, CSSStyleDeclaration or an IStyleClient.
Т.е uiTextField.styleName.setStyle("color", 0xff0000); сработает, но только если к UITextField уже был применен какой-то стиль. Не поленилась написать небольшой пример:

XML:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.core.UITextField;
import mx.styles.*;
 
private var uiTextField: UITextField;
 
override protected function createChildren(): void
{
  super.createChildren();
  uiTextField=new UITextField();
  addChild(uiTextField);
  uiTextField.text="mx.core.UITextField";
  trace("uiTextField.styleName: "+uiTextField.styleName);
// uiTextField.styleName: null
  var styleCss:CSSStyleDeclaration = new CSSStyleDeclaration();
  styleCss.setStyle('fontSize', 15);
  styleCss.setStyle('color', picker.selectedColor);
  uiTextField.styleName=styleCss;
}
 
public function changeColor(): void
{
  uiTextField.styleName.setStyle("color", picker.selectedColor);
}
 
]]>
</mx:Script>
<mx:ColorPicker id="picker" change="changeColor()" />
</mx:Application>

Bookmark this article at

2 комментариев

Комментарий от: JabbyPanda [Посетитель] Email · http://www.jabbypanda.com/blog
Ты не одна, хто обратил на этот факт внимание
http://www.colettas.org/?p=117

ps
А почему шрифт в этом поле редактирования такой маленький? где-то 4px.
Firefox 2.0.12, Win XP SP2

2007-06-07 @ 13:50
Ты не одна, хто обратил на этот факт внимание http://www.colettas.org/?p=117

Ага. Уже видела. Совпало. Да и мой пост больше о механизмах работы со стилями. Основная проблема в том, что народ попробовав воспользоваться услугами setStyle начинает думать, что со стилями все плохо и переключает свое внимание на UITextFormat или оставляет метки до лучших времен вместо того чтобы разобраться.
А почему шрифт в этом поле редактирования такой маленький? где-то 4px.

Не видела. Спасибо. Скин кривой. Зато веселенький. :) был. Заменила.
2007-06-07 @ 16:25

Оставить комментарий


Ваш email адрес. (Не будет показан на сайте.)

Ваш URL будет показан.
:!: :?: :idea: :) :D :p B) ;) :> :roll: :oops: :| :-/ :( :'( |-| :>> :yes: ;D :P :)) 88| :. :no: XX( :lalala: :crazy: >:XX
(Заменить прерывания строк на <br />)
(Имя, email и сайт)
(Разрешить пользователям посылать вам сообщения (ваш email не отображается).)
3 + 2 + 7 - 1?
antispam test

Вы можете использовать OpenID чтобы предоставить ваше имя, email и url.

Graann`s blog
flash, flex и все, что придет в голову

Ноябрь 2008
Пн Вт Ср Чт Пт Сб Вс
 << <   > >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

О блоге

С назначением блога можно ознакомиться здесь

Идейным вдохновителем и по совместительству куратором блога является Сonstantiner, за что ему огромный респект и уважуха! Впрочем не только за это :)

Поиск

powered by b2evolution free blog software


Design downloaded from Zeroweb.org
Website templates, layouts, and website tools for FREE!
Free short URL services from urlSNIP.