Shiromaru 0 Denunciar post Postado Abril 8, 2010 Olá pessoal. Tenho uma pequena aplicação em flex que contrai ou expande um painel, através de um clique em um botão. Como sou novo na linguagem, meu método foi manter o componente com altura 5 e atras de outra barra escondido na tela. Ao clique do botão este canvas é arrastado para cima e expandido, tornando-se assim um retangulo maior com seu conteúdo visivel. Meu problema é que toda vez que alguém dá um resize na tela, este componente é arrastado de volta para baixo e mantem a largura da tela antes de seu novo tamanho e eu gostaria que ele se ajustasse a largura da tela dinamicamente e se mantivesse na altura que estava antes do resize. Penso em manter duas variáveis que capturam o valor das dimensões da tela toda vez que é feito um resize e definir como a altura e a largura do componente secundário, o valor contido nestas variáveis. Minhas dúvidas são: Como faço para manter estas variáveis dinamicas, sempre recebendo os valores da tela quando mudam? Vai funcionar desta forma sem dar flicker na tela? Alguém conhece um metodo melhor? Talvez alguma função que dispare a cada vez que a tela muda de tamanho, ja me ajudaria eu acho... Agradeço desde já a quem tiver paciência pra me ajudar =) Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Abril 8, 2010 para saber quando a tela foi redimensionada, é com esse evento this.stage.addEventListener(Event.RESIZE, myResizeHandler); function myResizeHandler(event:Event):void { trace("novo valor:" this.stage.stageWidth); } acho que era isso que você procurava []´s Compartilhar este post Link para o post Compartilhar em outros sites
Shiromaru 0 Denunciar post Postado Abril 8, 2010 Certo, mas como eu utilizo a função? ele esta guardando o valor da largura no "novo valor"? Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Abril 10, 2010 Nao novo valor ali eh apenas uma string, que vai aparecer na tela. this.stage.addEventListener(Event.RESIZE, myResizeHandler); var larguraTelaAntes:Number = stage.stageWidth; var larguraTelaRedimensionada:Number; trace(larguraTelaAntes); function myResizeHandler(event:Event):void { larguraTelaRedimensionada = this.stage.stageWidth; trace("novo valor:" + larguraTelaRedimensionada ); } Teste ai, e quando redimensionar vera. Abs Compartilhar este post Link para o post Compartilhar em outros sites