From 2141ab258a1ca73876fde3ccd0fdfe2b19eeff02 Mon Sep 17 00:00:00 2001 From: Motasim Fuad Date: Mon, 16 Oct 2023 23:32:28 +0600 Subject: [PATCH 1/2] Cheat sheet for flutter's RefreshIndicator added --- data/flutter.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/data/flutter.json b/data/flutter.json index a23b3e0df..305784e01 100644 --- a/data/flutter.json +++ b/data/flutter.json @@ -149,6 +149,49 @@ ] }, + { + "title": "RefreshIndicator - রিফ্রেশ ইন্ডিকেটর (পুল টু রিফ্রেশ)", + "items": [ + { + "definition": "RefreshIndicator কি?", + "code": "RefreshIndicator একটি Flutter উইজেট, যা দিয়ে ফ্লাটার এপে খুব সহজেই পুল টু রিফ্রেশ ফাংশনালিটি তৈরি করা যায়।" + }, + { + "definition": "ব্যবহার করার নিয়ম", + "code": "RefreshIndicator(\n onRefresh: () async {\n // আপনার রিফ্রেশ লজিক লিখুন\n }," + }, + { + "definition": "onRefresh প্যারামিটার:", + "code": "onRefresh একটি required কলব্যাক ফাংশন, যা একটি ভয়েড ফিউচার `` Future `` রিটার্ন করে। পেইজ রিফ্রেশ করার জন্য, এর ভিতরেই আপনার লজিক কল করতে হবে।" + }, + { + "definition": "RefreshIndicator এড করার পরও কাজ করছে না?", + "code": "RefreshIndicator ব্যবহারের সময়, ৪/৫ টি ইউজকেস অবশ্যই মাথায় রাখতে হবে" + }, + { + "definition": "কেস #১. যেকোনো লিস্টের উপর ব্যবহার করা", + "code": "RefreshIndicator শুধুমাত্র যেকোনো লিস্ট টাইপের উইজেটের উপরই ব্যবহার করা যাবে। যেমনঃ ListView, GridView, SingleChildScrollView, CustomScrollView ইত্যাদি।" + }, + { + "definition": "কেস #২. লিস্টের উপর ব্যবহার করার পরও, যদি RefreshIndicator কাজ না করে", + "code": "ওই লিস্ট টাইপ উইজেটের physics প্যারামিটারে, AlwaysScrollableScrollPhysics ইউজ করতে হবে। \n physics: AlwaysScrollableScrollPhysics()," + }, + { + "definition": "কেস #৩. আপনি যদি অন্য কোনো ScrollPhysics ব্যবহার করতে চান", + "code": "তাহলে সেই ScrollPhysics এর parent প্যারামিটারে, AlwaysScrollableScrollPhysics অ্যাড করতে হবে।\n physics: const BouncingScrollPhysics(\nparent: AlwaysScrollableScrollPhysics()\n)," + }, + { + "definition": "কেস #৪. shrinkWrap প্যারামিটার ব্যবহার করলে", + "code": "RefreshIndicator এর নিচে থাকা, লিস্ট টাইপ উইজেটের shrinkWrap প্যারামিটারটি অবশ্যই false থাকতে হবে। \n shrinkWrap: false," + } + , + { + "definition": "কেস #৫. আপনি যদি লিস্টভিউ ছাড়া, অন্য কোনো কাস্টম উইজেট ব্যবহার করতে চান", + "code": "আপনাকে Stack উইজেট ব্যবহার করতে হবে। এবং সেই Stack এর ভিতরে দুইটি উইজেট থাকবে। একটি হবে আপনার কাস্টম উইজেট, অন্যটি ListView. \n RefreshIndicator(\n onRefresh: () async { \n print('refreshing'); \n },\n child: Stack(\n children: [\n YourWidget(),\n ListView(\n physics: const AlwaysScrollableScrollPhysics(),\n ),\n ],\n ),\n )," + } + ] +}, + { "title": "কিছু ইম্পরট্যান্ট ফ্লাটার শীট", From 163fdd87f603314d399d7fabbdfd522f15406a1e Mon Sep 17 00:00:00 2001 From: Motasim Fuad Date: Mon, 16 Oct 2023 23:56:24 +0600 Subject: [PATCH 2/2] chore: Code block's readability improved --- data/flutter.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data/flutter.json b/data/flutter.json index 305784e01..8c7581e80 100644 --- a/data/flutter.json +++ b/data/flutter.json @@ -174,20 +174,20 @@ }, { "definition": "কেস #২. লিস্টের উপর ব্যবহার করার পরও, যদি RefreshIndicator কাজ না করে", - "code": "ওই লিস্ট টাইপ উইজেটের physics প্যারামিটারে, AlwaysScrollableScrollPhysics ইউজ করতে হবে। \n physics: AlwaysScrollableScrollPhysics()," + "code": "ওই লিস্ট টাইপ উইজেটের physics প্যারামিটারে, AlwaysScrollableScrollPhysics ইউজ করতে হবে। \n\n physics: AlwaysScrollableScrollPhysics()," }, { "definition": "কেস #৩. আপনি যদি অন্য কোনো ScrollPhysics ব্যবহার করতে চান", - "code": "তাহলে সেই ScrollPhysics এর parent প্যারামিটারে, AlwaysScrollableScrollPhysics অ্যাড করতে হবে।\n physics: const BouncingScrollPhysics(\nparent: AlwaysScrollableScrollPhysics()\n)," + "code": "তাহলে সেই ScrollPhysics এর parent প্যারামিটারে, AlwaysScrollableScrollPhysics অ্যাড করতে হবে।\n\n physics: const BouncingScrollPhysics(\n parent: AlwaysScrollableScrollPhysics()\n )," }, { "definition": "কেস #৪. shrinkWrap প্যারামিটার ব্যবহার করলে", - "code": "RefreshIndicator এর নিচে থাকা, লিস্ট টাইপ উইজেটের shrinkWrap প্যারামিটারটি অবশ্যই false থাকতে হবে। \n shrinkWrap: false," + "code": "RefreshIndicator এর নিচে থাকা, লিস্ট টাইপ উইজেটের shrinkWrap প্যারামিটারটি অবশ্যই false থাকতে হবে। \n\n shrinkWrap: false," } , { "definition": "কেস #৫. আপনি যদি লিস্টভিউ ছাড়া, অন্য কোনো কাস্টম উইজেট ব্যবহার করতে চান", - "code": "আপনাকে Stack উইজেট ব্যবহার করতে হবে। এবং সেই Stack এর ভিতরে দুইটি উইজেট থাকবে। একটি হবে আপনার কাস্টম উইজেট, অন্যটি ListView. \n RefreshIndicator(\n onRefresh: () async { \n print('refreshing'); \n },\n child: Stack(\n children: [\n YourWidget(),\n ListView(\n physics: const AlwaysScrollableScrollPhysics(),\n ),\n ],\n ),\n )," + "code": "আপনাকে Stack উইজেট ব্যবহার করতে হবে। এবং সেই Stack এর ভিতরে দুইটি উইজেট থাকবে। একটি হবে আপনার কাস্টম উইজেট, অন্যটি ListView. \n\n RefreshIndicator(\n onRefresh: () async { \n print('refreshing'); \n },\n child: Stack(\n children: [\n YourWidget(),\n ListView(\n physics: const AlwaysScrollableScrollPhysics(),\n ),\n ],\n ),\n )," } ] },