خوب دوستان عزیز بریم سراغ یکی از ویجت های جذاااااب فلاتر یعنی DraggableScrollableSheet
البته قبلش یک سلام جانانه به عاشقان فلاتر
حالا این ویجت چیه ؟ به راحتی کاربر میتواند صفحه ای را به بالا کشیده و به اطلاعات ان دسترسی داشته باشد و دوباره ان صفحه را میتواند جمع کند این فقط یک نمونه اش است به تصویر زیر نگاه کنید
خوب بریم سراغ کد ان
DraggableScrollableSheet( builder: (BuildContext context, myscrollController) { return Container( color: Colors.tealAccent[200], child: ListView.builder( controller: myscrollController, itemCount: 25, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text( 'Dish $index', style: TextStyle(color: Colors.black54), )); }, ), ); }, )
با استفاده از این ویجت لیست ویویی درون ان تعریف کردیم به همین راحتی
در این ویجت ما از پارامتر زیر میتونیم استفاده کنیم
initialChildSize , minChildSize , maxChildSize
پارامتر initialChildSize که مکان اولیه قرار گیری این ویجت در صفحه را مشخص میکنه
پارامتر minChildSize مشخص کننده کمترین میزان اسکرول این ویجت به نسبت صفحه ما است
پارامتر maxChildSize که مشخص کننده بیش ترین میزان اسکرول این ویجت است
و این هم تمامی کد دیمو این مطلب
import 'package:flutter/material.dart'; class DragabbleScrollableSheetDemo extends StatefulWidget { @override _DragabbleScrollableSheetDemoState createState() => _DragabbleScrollableSheetDemoState(); } class _DragabbleScrollableSheetDemoState extends State<DragabbleScrollableSheetDemo> { @override void initState() { // TODO: implement initState super.initState(); } @override Widget build(BuildContext context) { return MaterialApp( darkTheme: ThemeData.dark(), theme: ThemeData(brightness: Brightness.dark), home: Scaffold( appBar: AppBar( title: const Text('DraggableScrollableSheet'), ), body: Container( child: DraggableScrollableSheet( initialChildSize: 0.3, minChildSize: 0.1, maxChildSize: 0.8, builder: (BuildContext context, myscrollController) { return Container( color: Colors.tealAccent[200], child: ListView.builder( controller: myscrollController, itemCount: 25, itemBuilder: (BuildContext context, int index) { return ListTile( title: Text( 'Dish $index', style: TextStyle(color: Colors.black54), )); }, ), ); }, ), ), ), ); } }
به همین سادگی به همین خوشمزگی.
اگر مطلب براتون مفید بوده لینک ان را برای دوستانتان در شبکه های اجتماعی بفرستید تا ان ها هم بتوانند استفاده کنند و به دوستداران فلاتر روز به روز افزوده شود?
روز های زیبا و جذاااااااااااااااااابی داشته باشید قلب یادتون نره :)