انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تغییر رنگ بندی هر item از ListView ، در برنامه نویسی اندروید

تغییر رنگ بندی هر item از ListView ، در برنامه نویسی اندروید

#7
(۱۳۹۳/۰۹/۲۸, ۱۲:۱۶ ب.ظ)'saeid2014' نوشته:
(۱۳۹۳/۰۹/۲۶, ۰۷:۱۴ ب.ظ)'admin' نوشته: سلام.
بله این مشکل از آنجا ناشی می شود که بخش تعیین رنگ item را در روش getView نوشته ایم.
برای رفع این مشکل :
یک آرایه با تعداد عناصر برابر تعداد item های ListView بسازید و در آن، نام 4 رنگ را به صورت تکرار شونده بنویسید (در ابتدای اجرای کدهای Activity و خارج از روش getView). اکنون در روش getView ، کدهای قبلی در مورد رنگ ها را حذف کرده و بر اساس متغیر position که شماره متناظر با item است، یک رنگ را از آن آرایه شامل نام رنگ ها می خوانید و در پس زمینه item نمایش می دهید.


 

سلام. من برای تغییر رنگ بندی آیتمها از همین روش استفاده می کنم و درست کار می کنه. در برنامه من رو هر آیتمی که کلیک میشه، برنامه به یه اکتیویتی دیگه ای هدایت میشه. حالا مساله ای که هست اینه که میخوام موقع کلیک روی هر آیتم بک گراند اون آیتم رنگش عوض بشه. برای این کار از کلید شماره 2900 استفاده کردم، تقریبا درست کار می کنه ولی موقع کلیک که بک گراند آیتم عوض میشه، این بک گراند روی آیتم قرار میگیره و در نتیجه نوشته آیتم مخفی میشه. این شاید به دلیل کد:

کد پی‌اچ‌پی:
android:drawSelectorOnTop="true" 

باشه ولی خب این رو هم حذف می کنم دیگه کلاً کار نمی کنه.
لطفا راهنمایی کنید.
 

سلام.
آن را به کد زیر تغییر بدهید :

کد پی‌اچ‌پی:
android:drawSelectorOnTop="false" 

کد بالا باعث می شود که selector در پشت item نمایش داده شود، اما تضمینی نیست که شما آن را ببینید، زیرا ممکن است که لایه بندی ها را به گونه ای ساخته باشید که اصلا پس زمینه item قابل مشاهده نباشد.
بنابراین اگر درست عمل نکرد، خود بنده در این موارد، برای اینکه لایه بندی ها گیجم نکنند، برای لایه های مختلف، به طور موقت، رنگ های پس زمینه ای در فایل xml تعیین می کنم. سپس بر اساس آن رنگ ها، به طور دقیق محدوده لایه بندی ها قابل تشخیص است و بر اساس آنها، متوجه می شوم که مشکل از چیست و هم پوشانی های لایه ها در چه حدی است. بعد هم که همه چیز درست شد، آن رنگ های پس زمینه را به حالت اولیه بر می گردانم (حذف می کنم).

در ضمن، برای مشکلی که ذکر کرده بودند، حتما دوباره چک کنید، مثلا سریع به ابتدا و انتهای لیست بروید و چند بار تکرار کنید که اگر مشکل داشت، آن موارد را شما هم اعمال کنید.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ


پیام‌های این موضوع
RE: تغییر رنگ بندی هر item از ListView ، در برنامه نویسی اندروید - توسط admin - ۱۳۹۳/۰۹/۲۹, ۰۳:۴۲ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان