Eu tenho um rolável ListView
onde o número de itens pode mudar dinamicamente. Sempre que um novo item é adicionado ao final da lista, gostaria de rolar programaticamente o ListView
até o final. (por exemplo, algo como uma lista de mensagens de bate-papo onde novas mensagens podem ser adicionadas no final)
Meu palpite é que eu precisaria criar um ScrollController
no meu State
objeto e passá-lo manualmente para o ListView
construtor, para que posteriormente eu pudesse chamar animateTo()
/ jumpTo()
método no controlador. No entanto, como não posso determinar facilmente o deslocamento máximo de rolagem, parece impossível simplesmente realizar um scrollToEnd()
tipo de operação (ao passo que posso facilmente passar 0.0
para fazê-lo rolar para a posição inicial).
Existe uma maneira fácil de conseguir isso?
Usar reverse: true
não é uma solução perfeita para mim, porque eu gostaria que os itens fossem alinhados na parte superior quando houver apenas um pequeno número de itens que cabem na ListView
janela de visualização.