Bruno,
O skin "tende" a acompahar a dimensão do seu host.
Se eu entendi oq vc está querendo vc deve alterar a dimensão do host e não
do Skin.
Os Containers, o panel é um container, se não informado o "heigth" a sua
altura será a suficiente para acomodar os seus childs, o mesmo valendo para
o "width".
Sendo assim talvez seja melhor você ao "colapsar" o container tratar estes
dois atributos, é claro que não pode esquecer do skin que deve ser
observado.
Se este for o seu caso a dica é que ao testar o currentState você deve setar
o atributo "heigth" com o valor suficiente para ficar na altura desejada,
por exemplo:
Para colapsar - panel.heigth = 40;
Para descolapsar - panel.heigth = NaN;
Obs.: setando NaN você está informando que o container deve atender a altura
suficiente para acomodar seus childs.
Você deve observar que se reduzir a altura, ou largura, do seu container o
suficiente para não atender aos seus childs mesmo assim os childs estão
aparentes, e possivelmente sobrepostos por outros componentes.
Então você deverá enconder estes childs, dependendo do caso com includeIn ou
até mesmo o próprio visible.
Espero ter ajudado.
Em 7 de maio de 2011 21:03, Bruno Tourinho <[email protected]> escreveu:
> Senhores boa noite, venho recorrer à vocês para resolver um problema que
> aparenta ser simples, mas não estou conseguindo identificar.
> Tenho um componente que estende um spark (Flex 4) Panel com uma skin.
>
> Na Skin, quando eu clicar na header do Panel ele remove o contentGroup e
> deveria redimensionar o componente, ficando apenas a header visível.
>
> Sim, é tipo um Collapsible Panel... achei alguns componentes similares no
> Google, porém nenhum funcionou da forma que eu preciso, ou não funciona no
> Flex 4. (e aparentemente foi feito via Catalyst)
>
> Já tentei:
>
> updateDisplayList(unscaledWidth, unscaledHeight)
>
> invalidateSkinState()
>
> invalidateProperties()
>
> Nada parece funcionar... estou enviando uma figura que ilustra melhor o meu
> problema...
>
> Se alguém tiver alguma dica ou quiser analisar o código é só falar...
>
> Abraço a todos
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
--
Clayton Marques Pereira
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev