پژمان حاجی حیدری
پژمان حاجی حیدری
خواندن ۴ دقیقه·۵ سال پیش

ویجت 11 (DraggableScrollableSheet در فلاتر)

خوب دوستان عزیز بریم سراغ یکی از ویجت های جذاااااب فلاتر یعنی 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), )); }, ), ); }, ), ), ), ); } }

به همین سادگی به همین خوشمزگی.

اگر مطلب براتون مفید بوده لینک ان را برای دوستانتان در شبکه های اجتماعی بفرستید تا ان ها هم بتوانند استفاده کنند و به دوستداران فلاتر روز به روز افزوده شود?

روز های زیبا و جذاااااااااااااااااابی داشته باشید قلب یادتون نره :)








برنامه نویسیفلاتر
یکی از عاشقان فلاتر و تلاش برای ایجاد جامعه فلاتر ایران برای دسترسی سریع و اسان به مطالب برنامه نویسی کانال تلگرام بنده را با ایدی Learnpg را دنبال کنید
شاید از این پست‌ها خوشتان بیاید