حذف سایه از آیتم در recyclerView با OnclickListener

پرسیده شده
فعالیت 1420 روز پیش
دیده شده 1142 بار
0

 استاد شاهینی عزیز سلام وقت بخیر

استاد من یک recyclerView ساختم که به عنوان مثال ۱۰ آیتم داره که هر آیتمش یک متریال کارد ویو هست

حالا میخوام زمانی که روی هر کدوم از این کارد ویو ها کلیک میشه یک اکشنی انجام بشه ، به عنوان مثال اکشن مورد نظر من اینه که آیتم یک سایه یا الویشن داشته باشه

تا اینجای کار موفق بودم، ولی من میخوام روی هر آیتمی که کلیک میشه فقط همون آیتم سایه داشته باشه و بقیه آیتم ها سایشون حدف بشه

الان نمیدونم چطوری سایه آیتم قبلی رو پاک کنم 

به نظرتون چیکار باید انجام بدم؟

فایل پیوست

محمد استکی
محمد استکی

26 خرداد 99

2
حذف شده

سلام و احترام 

این که زمانی که آیتمی کلیک شد Toch feed back ی نمایش داده شه با اتربیوت android:clickable  میتونین این کار رو بکنین البته اگر onClickListener ست کرده باشین نیازی نیست .

و همچنین با اتربیوت rippleColor میتونین رنگ این ripple(کلیک کردن روی ایتم) رو تغییر بدین.

(این روش بهتره چون نشون میده اپ شما زنده هستّ)

تا اینجای کار برای زیبا تر شدن پروژه بود که استاد هم در ویدیو گفتن و فکر نمیکنم جواب سوالتون این بوده باشه بهر حال جواب اصلی خدممتون عرض میکنم

------------------------------------------

اگر بحث سایه باشه میتونین در onClickListener  جاوا متد setCardElevation روی متریال کارد ویو(یادتون باشه findViewById کرده باشین) ست کنین .( بیرون از onClickListener نیز اونو به مقدار صفر برسونین که روی ایتم نمونه (اختیاری) ).

ی نکته مهم اگر آیتم های شما روتشون متریال کارد ویو نبودن باید از setElevation در کد جاواتون استفاده کنین

پیرو باشین

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

26 خرداد 99

حذف شده
خیلی ممنون از پاسختون من خیلی تلاش کردم ولی هنوز موفق نشدم اگه از همین مسیری که شما هم فرمودی بریم جلو و با findViewById آیتم متریال کارد ویو رو دریافتش کنیم و بیرون از onClickListener الویشن رو صفر قرار بدیم و داخل onClickListener به اون مقدار بدیم، این آپشن فقط برای آیتم اول ست میشه و آیتم های بعدی کار نمیکنن، اگه یادتون باشه توی پروژه متریال دیزاینی که استاد انجام دادن onClickListener فقط روی ایتم اول ست شد و تقریبا بقیه آیتم ها بلااستفاده باقی موندن، اینجاهم دقیقا با اونجا یکیه
محمد استکی

27 خرداد 99

حذف شده
آهااان اینو باید داخل آداپتر ست کنید ببینین در سر فصل های جلوویی استاد مثال های زیادی از این روش کلیک کردن روی هر آیتم زدن .که این کار با itemView در adapter انجام میشود.(پیشنهاد میکنم طبق سر فصل جلو بیاین این مسايل گفته شده) چون شاید در اینجای آموزش کمی برای شما پیچیده باشد پیشنهادم این بود . ولی در innerClass ه مربوط به ویو هولدر میتونین روی itemView متد onClickListener رو ست کنین که به این صورتی که مد نظر شماست عمل کند.( سرفصل فایل منیجر و موزیک پلیر چنین اموزشی داده شده برای کلیک روی آیتم های مختلف)
پوریا شفیعی

27 خرداد 99