मैं कैसे पता लगा सकता हूं कि सूची दृश्य आइटम ऑफ-स्क्रीन जोड़ा गया था या नहीं? मैं नए जोड़े गए आइटम पर स्क्रॉल करना चाहूंगा यदि इसे ऑफ-स्क्रीन जोड़ा गया था।

नीचे एक न्यूनतम उदाहरण है। यदि आप + बटन दबाते रहते हैं, तो अंततः एक आइटम ऑफ-स्क्रीन जोड़ा जाएगा। मैं उस मामले का पता लगाना चाहता हूं और फिर नए जोड़े गए आइटम पर स्क्रॉल करना चाहता हूं।

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),
      ),
    );
  }
}
0
jwasher 26 मार्च 2020, 16:45

1 उत्तर

सबसे बढ़िया उत्तर

https://dartpad.dev/81dcfd6e4255bde548751180c54a9ade

इसे देखो। आपको स्क्रॉल नियंत्रक का उपयोग करने की आवश्यकता है

1
Afridi Kayal 26 मार्च 2020, 14:14