Slidable panel widget'ının içinde iç içe ScrollView


9

Ekranın altından dikey olarak içeri ve dışarı sürüklenebilen bir panel widget'ım var. Bu panel widget'ında ListViewkaydırılabilir bir tane var.

Elde etmeye çalıştığım şey, panelin iç içe liste görünümü kesintiye uğramadan açma ve kapama sürüklemesine sahip olmasıdır. Panel açıldığında, liste görünümü kaydırılabilir hale gelir ve liste görünümü zaten üstteyken aşağı kaydırılırsa, panel bunun yerine hareketi işler ve kapanır.

Şöyle ki:

resim açıklamasını buraya girin

Panel konumuna göre ListView üzerinde kaydırma fizik etkinleştirmek / devre dışı bırakmak için çalıştı ama bu şekilde mümkün olmadığı ortaya çıktı.

Herhangi bir fikir ? :)


Size verdiğim çözümü denediniz mi? Umut ediyorum bu yardım eder.
Pablo Barrera

@PabloBarrera Bitti, DraggableScrollableSheetkendimdeki davranışı yeniden kodladım , ancak cevabınızı kabul edeceğim;)
Théo Şampiyonu

Yanıtlar:


5

Bunu ile başarabilirsiniz DraggableScrollableSheet.

İşte nasıl kullanabileceğinize dair kısa bir örnek:

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Stack(
      children: <Widget>[
        Center(child: Text('Some content')),
        DraggableScrollableSheet(
          minChildSize: 0.2,
          initialChildSize: 0.2,
          builder: (context, scrollController) => Container(
            color: Colors.lightBlueAccent,
            child: ListView.builder(
              controller: scrollController,
              itemCount: 20,
              itemBuilder: (context, index) => SizedBox(
                height: 200,
                child: Text('Item $index'),
              ),
            ),
          ),
        ),
      ],
    ),
  );
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.