تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ kasra yaseri
صفحه home لیست product
جامعه فلاتر ایجاد شده در ۱۶ خرداد ۱۴۰۱

سلام

در صفحه Home چیکار کنیم وقتی که روی product میزنیم splash روی محتوای stack انجام بشه نه زیر عکس product.

سلام


بخاطر اینکه محتوای stack بک گراند دارند (هم image و هم آیکون)، ripple مربوط به InkWell دیده نمیشه. اگر عکس با فرمت png و بدون بک گراند بود این مورد پیش نمی‌اومد. اگر بشه این کار رو انجام داد خیلی بهتره.


یه راه حل که به ذهن من رسید این بود که میشه در کلاس ImageLoadingService، اون ویجت image که ساختیم رو داخل ویجت Opacity قرار داد (که باتوجه به اینکه هرچه opacity کمتر باشه، فرزندش کمرنگ‌تر میشه باید یه تناسبی بین این دو مورد رعایت کرد ).

final Widget image = Opacity(
  opacity: 0.9,
  child: CachedNetworkImage(imageUrl: imageUrl, fit: BoxFit.cover),
);


نکته قابل توجه اینه که در صورتی که تمایل داشتید این کار رو انجام بدید، مقدار opacity رو از بیرون پاس بدید بهتره و مثل BorderRaduis هندلش کنید؛ چون که ویجت ImageLoadingService در جاهای مختلفی استفاده شده و لزوما همه جا مشکل ripple وجود نداره که بخوایم opacity رو تغییر بدیم.

بهترین پاسخ
یلدا محصلی ۱۶ خرداد ۱۴۰۱، ۱۵:۲۱