Ocultando os Itens do TileList um a um

Você já precisou de um efeito que ocultasse os elementos de um TileList um a um? Tenha você precisado disto ou não, o exemplo deste post apresenta uma técnica que eu cosidero elegante para a solução deste problema. E isto deve funcionar não apenas para TileList, mas também para o List ou qualquer outro componente que tenha a classe ListBase como sua ancestral.

Veja o exemplo (View Source para ver o código):




A Solução

O TileList, por possuir todos os itens, é o responsável por instruir cada item (definido pelo itemRenderer) a “ocultar/mostrar” a si próprio depois de um dado tempo. Desta forma, o TileList instrui o primeiro item a “ocultar/mostrar” a si próprio depois de 0 milissegundos, instrui o segundo item a “ocultar/mostrar” a si próprio depois de 50 milissegundos, instrui o terceiro item a “ocultar/mostrar” a si próprio depois de 100 milissegundos e assim sucessivamente.

Eu considero que a elegância desta técnica está na perfeita divisão de responsabilidades. O TileList simplesmente delega aos itens a tarefa de “ocultar/mostrar” a si próprio. Cada item, por sua vez, sabe quando e como fazer isto.

Por fim, uma boa solução deve ser bonita por fora (para os usuários) e bonita por dentro (para os programadores). E como diz R. Buckminster Fuller:

“When I am working on a problem I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it’s wrong.”

Bem, este é o meu ponto de vista, mas você não gostou da solução sinta-se a vontade para criticá-la.


Nenhum comentário

Deixe Seu Comentário