Ricardo,não deves aceder a funcões e propriedades na Skin directamente, pois não consegues controlar o "momento" em que a Skin é anexada ao componente. Como te disse no mail anterior, tens três hipóteses:
1. Fazer Extend ao TextInput, e colocares no override ao partAdded um myBG.color = myColor; 2. Fazer Extend ao TextInput, adicionares uma propriedade à tua classe nova, e na Skin usares bindings para ir buscar o myColor; 3. Na Skin, podes fazer override ao styleChanged, fazer um getStyle, e aplicá-lo ao myBG.color
No caso 2:
class MyCustomTextInput extends TextInput
{
[Bindable]
public var myColor:uint;
}
E na skin, que deves criar com o Wizard:
<s:Skin>
<!-- fill -->
<s:Rect id="background">
<s:fill>
<s:SolidColor id="bgFill" color="{hostComponent.myColor}"/>
</s:fill>
</s:Rect>
</s:Skin>
Como te disse, dá uma vista de olhos nos slides da minha apresentacão no
FlashCamp....
linkedIn <http://pt.linkedin.com/in/jsaleiro> João Saleiro Chief Technology Officer Tel: 00351 916 077 097 Email: [email protected] <mailto:[email protected]> Skype: joao.saleiro <callto://pedro.arelo>Webfuel Solutions <http://www.webfuel.pt> www.webfuel.pt <http://www.webfuel.pt>
Lisbon, Portugal On 10-02-2011 12:07, Ricardo Araújo wrote:
tentei: status_lbl.skin.myBackgroundColor = 0xFF0000; e não deu! tenho esta função dentro da skin: public function set myBackgroundColor (value : Number) : void { bgFill.color = value; } ideal era mesmo poder chama-la assim directamente... On 10 Fev, 11:54, João Saleiro<[email protected]> wrote:Ricardo, cria uma skinclass para o teu textinput (se usares os wizards do Flash Builder Burrito � f�cil). Depois na skin gerada, tens uma secc�o com: <!-- fill --> <s:Rect id="background"> <s:fill> <s:SolidColor id="bgFill"/> </s:fill> </s:Rect> Basta ent�o fazeres o c�digo Actionscript para mudares o color do bgFill. Para mudares a cor dinamicamente, tens duas opc�es: 1. definir um estilo por CSS (pesquisa por setStyle() e getStyle(), e pesquisa pelo override ao styleChanged que ter�s que colocar na tua skin com um bgFill.color = getStyle(etc)) 2. definir uma nova propriedade no TextInput (fazer extend ao TextInput, e colocar uma propriedade public var bgColor:uint; Depois na skin, fazes um<s:SolidColor id="bgFill" color="{hostComponent.bgColor}/>. Ou ent�o fazes override ao partAdded (v� os slides da minha apresentac�o no �ltimo FlashCamp)). Depois das tuas pesquisas, se continuares com d�vidas, envia mail que dou mais umas sugest�es. linkedIn<http://pt.linkedin.com/in/jsaleiro> Jo�o Saleiro Chief Technology Officer Tel: 00351 916 077 097 Email: [email protected]<mailto:[email protected]> Skype: joao.saleiro<callto://pedro.arelo> Webfuel Solutions<http://www.webfuel.pt> www.webfuel.pt <http://www.webfuel.pt> Lisbon, Portugal On 10-02-2011 11:46, Ricardo Ara�jo wrote:Viva, Tenho uma skin para um textinput e estou a aplica-la a uma textinput que quero controlar dinamicamente a cor de fundo... fiz um set na skin para alterar o background, mas n�o sei como chama-lo... como � spark n�o tem a propriedade backgroundcolor directamente... j� tentei isto: <s:TextInput editable="false" id="status_lbl" width="300" textAlign="center"> <s:skinClass> <Skins:MyLabelSkin> <Skins:myBackgroundColor>0xFF0000</Skins:myBackgroundColor> </Skins:MyLabelSkin> </s:skinClass> </s:TextInput> mas d� erro... (assim tamb�m d� para perceberem a estrutura que tenho.... tamb�m j� tentei for�ar como setStyle e n�o ajudou! antecipadamente os meus agradecimentos pela aten��o... RA
-- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Para anular a inscrição neste grupo, envie um e-mail para [email protected]. Para ver mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT.
<<inline: LinkedIn.gif>>
<<inline: Webfuel.gif>>
