09 mar 2011

Preloader Personalizado – Flex 4

Para quem acompanhou o screencast do post Preloader Personalizado – Flex 3 conseguiu ver como criar o seu preloader e adicioná-lo a um projeto Flex 3. Contudo, a mesma biblioteca disponibilizada não funciona perfeitamente no Flex 4, e vou explicar o porque.

No Flex 3, nosso preloader personalizado extende a classe mx.preloaders.DownloadProgressBar e no Flex 4, a classe que o preloader deve extender é a mx.preloaders.SparkDownloadProgressBar. Só por esse detalhes já conseguimos perceber que houveram mudanças no sistema de preloader após a versão 4 da SDK.

Apesar da nova classe SparkDownloadProgressBar ser uma cópia da classe DownloadProgressBar, houveram algumas mudanças no disparo do evento ProgressEvent.PROGRESS, que agora na nova SDK é disparado toda vez que um novo progresso é inicado, seja ele de download do SWF, download das RSL e na inicialização da aplicação, gerando um progresso de 0 a 100% para cada nova etapa. Com essas mudanças não é mais aconselhavel ter um listener para esse evento para controlar o seu progresso, que era exatamente o que faziamos no Flex 3.

Agora que entendemos as mudanças, vou disponibilizar aqui a biblioteca atualizada para o Flex 4 que não mais escuta o evento ProgressEvent.PROGRESS e funciona perfeitamente com o novo método setDownloadProgress da classe SparkDownloadProgressBar.

Comments

  • Marconi
    agosto 5, 2011 Responder

    Bruno, funcionou legal a biblioteca aqui, porém causa um conflito com a biblioteca flexlib, o title não aparece quando publico minha aplicação, quando tiro o preloader funciona normalmente, o que pode estar acontecendo?

Leave a Comment