我在 ListView 中閱讀了很多關于 ScrollController 的精彩答案。然后當一個按鈕被點擊我們做scrollController.jumpTo(scrollController.position.maxScrollExtent);
我的問題是,我們可以到List 的底部,但在創建它時?
return ListView.builder(
itemCount: data.length,
shrinkWrap: true,
// CAN WE DO SOMETHING HERE FOR EXAMPLE ?
physics: const ScrollPhysics(),
itemBuilder: (context, index)
{
return Item(data[index]);
}
);
(對我來說,這是一個聊天,所以這個reverse選項看起來不太好)
uj5u.com熱心網友回復:
如您所說,如果您將此串列用于聊天記錄,那么這些reverse選項確實適合您。您只需要反轉您的聊天日志資料:
data.reversed.toList()
ListView 上沒有直接選項可以轉到串列末尾。
有關我的一個應用程式的更完整示例:
class MessageList extends StatelessWidget {
const MessageList(this.displayMessages);
final List<Map> displayMessages;
@override
Widget build(BuildContext context) {
return Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: ListView(
reverse: true,
children: displayMessages.map((message) {
return ChatMessage(message);
}).toList(),
),
),
);
}
}
displayMessages = List<Map>.from(clientMessages.data).reversed.toList();
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468629.html
