کلیدستان

نسخه‌ی کامل: نمایش تصویر پیش فرض در کلید 295 (اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
در کلید زیر :

http://www.kelidestan.com/keys/keys.php?key=295

وقتی به imageview یه منبع اختصاص میدیم، وقتی در کدهای جاوا لینک تصویر رو بهش میدیم تصویر جدید و اصلی رو زیر تصویر پیش فرض به نمایش در میاره و در واقع برای اینکه درست کار کنه نباید تصویر پیش فرضی برای imageview گذاشت

اما من نیاز دارم یه تصویر پیش فرضی رو تا قبل از لود شدن کامل تصاویر نمایش بدم
برای اینکار باید چه کرد؟
سلام.
دلیلش این است که کلاس مورد نظر (DrawableManager)، عکس را در پس زمینه ImageView نمایش می دهد و چون شما عکس پیش فرض را به صورت عادی در ImageView نمایش داده اید، عکس دانلود شده در زیر آن قرار خواهد گرفت.
کد زیر از کلاس DrawableManager که در آن کلید تعریف شده را ببینید :

کد پی‌اچ‌پی:
// imageView.setImageDrawable((Drawable) message.obj);
imageView.setBackgroundDrawable((Drawablemessage.obj); 

از روش setBackgroundDrawable استفاده شده که عکس را در پس زمینه ImageView نمایش می دهد. اتفاقا خط قبل از آن، روش عادی یعنی استفاده از روش setImageDrawable را به صورت توضیح (comment) نوشته است و تنها باید آن را از توضیح در آورده و خط مربوط به setBackgroundDrawable را به صورت توضیح قرار دهید (یا اصلا حذف کنید).

روش دوم :
می توان عکس پیش فرض را هم در پس زمینه ImageView  قرار داد تا نیازی به تغییر کدهای کلاس نباشد.

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

در ضمن، بنده استفاده از کلید زیر را توصیه می کنم که عکس ها را cache می کند :

کلید شماره 2777

تصاویرم زیاده نمی خوام کش کنم
اون تغییر رو ایجاد کردم ولی یه تفاوتی با حالت قبلی داره و اون اینه که یکم از اطراف فاصله میگیره تصویر
(۱۳۹۴/۰۳/۰۸, ۰۹:۰۴ ب.ظ)'parniaznet' نوشته: [ -> ]اون تغییر رو ایجاد کردم ولی یه تفاوتی با حالت قبلی داره و اون اینه که یکم از اطراف فاصله میگیره تصویر

 

بله، این موارد به ویژگی های تعیین شده برای ImageView بستگی دارد. مثلا ScaleType چگونه تعیین شده باشد و اینکه padding تعریف نکرده باشیم (برابر صفر) و ... . ولی تا اونجایی که یادم است، بهترین راه قرار دادن عکس در پس زمینه ImageView می باشد، مگر اینکه ویژگی های مورد نظر را بتوانید تنظیم کنید.

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

می توانید ((عکس پیش فرض)) را هم در پس زمینه ImageView نمایش بدهید (هیچ عکسی به عنوان source برای ImageView تعیین نشود) و دیگر نیازی به تغییر کدهای کلاس مورد نظر نیست.