16 Feb 2026, 20:36 UTC≈2,420 views3 reactionsread 8 August 2026 Photo
📰 روشی برای رفع تحریم و مشکل Sync گریدل
✏️ اگر هنگام اجرای پروژه فلاتر یا کاتلین با خطاهای Connection Timeout یا 403 مواجه میشوید و VPN شما روی گریدل جواب نمیدهد، از این تنظیمات در فایل android/build.gradle استفاده کنید. حتی اگر vpn دارید هم این تنظیمات رو ست کنید که سریعتر مخازن رو دریافت کنید.
تنظیم مخازن (بدون نیاز به VPN)
ابتدا منابع را از مایکت و سپس از Aliyun (علیبابا) دریافت میکنیم. این دو مورد تحریم نی…
❤🔥1👍1🙏1
14 Dec 2025, 09:14 UTC≈2,780 views6 reactionsread 8 August 2026 Photo
📰 دسترسی به context از هرجای اپ (بدون دردسر!):
✏️گاهی داخل:
Controller
Service
یا callbackهایی که context ندارن
لازمت میشه BuildContext داشته باشی (برای SnackBar، Dialog، Theme و …).
این ترفند تمیز و استاندارده
⚠️ نکته مهم:
از این روش بیش از حد استفاده نکن
برای معماری تمیز، بهتره بیشتر منطقها داخل UI یا ViewModel باشن.
این ترفند مخصوص مواقع خاصه 👌
🧠 جای استفاده مناسب:
نمایش SnackBar سراسری
دیالوگهای سیستمی…
✍3👍2❤🔥1
4 Dec 2025, 07:48 UTC393 views9 reactionsread 8 August 2026 Photo
📰 تغییر رنگ StatusBar و NavigationBar در اندروید و iOS:
✏️ خیلی وقتها میخوای تم صفحهت با رنگ StatusBar یکی باشه تا ظاهر اپ حرفهایتر و یکپارچه بشه.
این ترفند مخصوصاً توی صفحات fullscreen یا صفحههایی با تم روشن/تاریک خیلی مهمه.
🔨 نحوه استفاده: {کلیک کنید}
Flutter Jungle | @DXFlutter
✍️ #Yekta_Soltani
🔗 LinkedIn 📱 | GitHub 4️⃣
👍8✍1
24 Nov 2025, 08:07 UTC379 views12 reactionsread 8 August 2026 Photo
📰 Floating Action Button
فقط وقتی اسکرول کردی ظاهر بشه:
✏️ گاهی توی طراحی، میخوای FAB فقط وقتی کاربر کمی اسکرول کرد ظاهر شه…
مثلاً تو صفحهای که لیست بلندی داره، FAB همیشه جلو چشم باشه شلوغ میکنه.
این ترفند باعث میشه تجربه کاربری حرفهایتر و مینیمالتر داشته باشی.
📌ایدهی اصلی:
با استفاده از ScrollController تشخیص میدیم کاربر اسکرول کرده یا نه،
و FAB رو با AnimatedOpacity مخفی/ظاهر میکنیم.
🔨 نحوه استفاده: …
👍7❤🔥4✍1
12 Nov 2025, 13:15 UTC368 views6 reactionsread 8 August 2026 Photo
📰 چک کردن وضعیت اتصال اینترنت در فلاتر:
✏️ برای اینکه قبل از هر درخواست (مثل API Call یا دانلود فایل) مطمئن بشی کاربر اینترنت داره، میتونی از پکیج connectivity_plus استفاده کنی.
خیلی ساده و تمیز!
🔨 نحوه استفاده: {کلیک کنید}
Flutter Jungle | @DXFlutter
✍️ #Yekta_Soltani
🔗 LinkedIn 📱 | GitHub 4️⃣
✍3👍3
5 Nov 2025, 18:39 UTC≈2,650 views8 reactionsread 8 August 2026 Photo
📰 جلوگیری از دوبار کلیک روی دکمه (Double Tap Protection):
✏️ اگه کاربر چند بار سریع روی دکمه بزنه، ممکنه چند تا درخواست پشت سر هم به سرور بره و دردسر درست کنه .
با این ترفند ساده، جلوی این اتفاق رو بگیر!
🔨 نحوه استفاده: {کلیک کنید}
برای پروژههای بزرگتر میتونی از debounce توی پکیجهای rxdart یا easy_debounce استفاده کنی تا کنترل دقیقتری داشته باشی.
Flutter Jungle | @DXFlutter
✍️ #Yekta_Soltani
🔗 LinkedIn 📱 …
🙏5✍3
2 Nov 2025, 08:04 UTC347 views8 reactionsread 8 August 2026 Photo
📰 جلوگیری از اجرای دوباره Future در FutureBuilder:
✏️ اگه توی FutureBuilder هر بار ویجت rebuild بشه، Future دوباره اجرا میشه و باعث درخواستهای تکراری یا کندی اپ میشه.
برای حلش کافیه Future رو فقط یهبار در initState مقداردهی کنی!
🔨 نحوه استفاده: {کلیک کنید}
هر بار که setState() صدا زده بشه، FutureBuilder دوباره build میشه،
اما چون Future رو خارج از build ذخیره کردیم، دیگه دوباره اجرا نمیشه!
Flutter Jungle | @DX…
❤🔥4👍3✍1
8 Jul 2025, 17:23 UTC435 views29 reactionsread 8 August 2026 حمایت میکنید ادامه بدیم؟🧑💻
معرفی نمیکنید که به دوستاتون😫
👍22custom 58593828999077637424❤🔥3
4 Jun 2025, 09:56 UTC≈1,560 views18 reactionsread 8 August 2026 Photo
📰 ترفند استفاده از addPostFrameCallback برای اجرای کد بعد از build
✏️ وقتی میخوای بعد از اینکه ویجت کامل رندر شد، یه کاری انجام بدی (مثلاً نمایش یه دیالوگ، اسکرول، یا گرفتن سایز ویجت).
اما وقتی اون کد رو مستقیم تو initState یا build بذاری، خطا میگیری چون هنوز context یا layout کامل نشده.
💡 راهحل: استفاده از
WidgetsBinding.instance.addPost rameCallback
📦 کاربردهای این ترفند:
✔️ نمایش دیالوگ یا SnackBar بعد لود
✔…
custom 585938289990776374212❤🔥3👍3
28 May 2025, 14:34 UTC≈1,780 views16 reactionsread 8 August 2026 Photo
📰 ترفند Spread Operator در Flutter:
✏️ وقتی یه لیست ویجت داری و میخوای بندازیش توی Column یا Row، باید از ... (Spread Operator) استفاده کنی.
چون مستقیم گذاشتن لیست توی لیست ارور میده!
🔨 نحوه استفاده: {کلیک کنید}
اگه Spread Operator رو بلد باشی، خیلی جاها کارت راحت میشه!
Flutter Jungle | @DXFlutter
✍️ #Yekta_Soltani
🔗 LinkedIn 📱 | GitHub 4️⃣
custom 58593828999077637428✍2❤🔥2👍2🙏2
24 May 2025, 16:34 UTC914 views11 reactionsread 8 August 2026 Photo
📰 کپی کردن متن در کلیپبورد
✏️ این روش ساده و کاربردیه؛ ولی یه نکته مهم توی نسخههای جدید اندروید وجود داره:
از اندروید ۱۲ به بعد (یعنی SDK 31)، خود سیستمعامل موقع کپی شدن متن، یه toastmessage به کاربر نشون میده. اما تو نسخههای پایینتر یا iOS لازمه خودمون به کاربر اطلاع بدیم که متن کپی شده؛ این موضوع مخصوصاً برای تجربه کاربری بهتر مهمه.
📦 پکیج موردنیاز:
• device_info_plus
🔨 نمونه کد: {کلیک کنید}
Flutter Jungl…
custom 58593828999077637427👍2✍1🙏1
20 May 2025, 17:50 UTC870 views16 reactionsread 8 August 2026 Photo
📰 لاگ رنگی در ترمینال Flutter
✏️ توی توسعه با Flutter میتونید با escape codeهای ANSI لاگهاتون رو توی ترمینال رنگی کنید؛
🔨 نمونه کد : { کلیک کنید }
💡 استفاده از Live Template؟
با Live Template یا Snippet دیگه لازم نیست هر بار این کدها رو بنویسی، فقط تایپ کن redlog، Tab بزن، و لاگ رنگی آمادهست.
⚙️ کاربا Live Template: { کلیک کنید }
Flutter Jungle | @DXFlutter
✍️ #Amin_Pourabazari
🔗 Telegram 📱 | GitHub 4️⃣
custom 585938289990776374210👍5✍1
Showing the 12 most recent of 20 posts we hold for @DXFlutter. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.