Как я могу определить, был ли элемент ListView добавлен вне экрана? Я хотел бы перейти к вновь добавленному элементу, если он был добавлен вне экрана.
Ниже приведен минимальный пример. Если вы продолжаете нажимать кнопку «+», элемент будет добавлен за пределы экрана. Я хотел бы обнаружить этот случай, а затем перейти к вновь добавленному элементу.
class _MyHomePageState extends State<MyHomePage> {
List<String> _items = [];
void _addItem() {
final count = _items.length + 1;
setState(() {
_items.add('Item $count');
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: ListView.builder(
itemCount: _items.length,
itemBuilder: (_, index) {
return Container(
height: 50,
child: Card(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
Text(_items[index]),
],
),
),
);
}),
floatingActionButton: FloatingActionButton(
onPressed: _addItem,
tooltip: 'Add Item',
child: Icon(Icons.add),
),
);
}
}