آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در اسکرول شدن Listview

علیرضا  9 سال پیش  9 سال پیش
0 0

من ی لیست وییو ساختم که هر آیتم داری چند نوشته و یک عکس هست که کاملا مشابه دستورات استاد نوشتم و به درستی اجرا می شه ولی در هنگام اسکرول کردن یکم گیر داره ینی ی مقدار به کندی اسکرول می شه. وقتی مشخص می کنم که عکسی نشون داده نشه این گیر برطرف می شه. حالا باید چی کار کنم؟

+2 0
اگر حجم عکس ها بالا باشه روی دستگاه های ضعیف این مشکل پیش میاد برای نمایش عکس ها از لایبری Glide استفاده کنید و یا حجم اونهارو کاهش بدید ، البته اگر مسئله حجم باشه (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Amir  9 سال پیش
+2 0

می تونید سایز عکس ها رو هم کوچیک کنید که حجمشون کم بشه:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8; // این یعنی عکس 8 برابر کوچکتر بشه
Bitmap bitmap = BitmapFactory.decodeFile("/storage/sdcard0/picture.png", options); // به جای /storage... مسیر عکس رو بدید

اما اگه عکساتون توی خود برنامه هستند باید به جای خط سوم کد زیر رو بنویسید:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher, options); // به جای ic_launcher اسم عکس

و برای اینکه عکس رو به ImageView بدید از کد زیر استفاده کنید:

imgPicture.setImageBitmap(bitmap);
0 0
حجم عکسا کمتر از 30 کیلو بایته و عکسا هم مانند پروژه ی استاد از اینترنت دانلود می شه. یکبار هم عکسارو توی خود برنامه ریختم گفتم شاید از دانلودر مشکلی باشه ولی باز تغییری نکرد. (9 سال پیش)
0 0
وقتی که گیر داره دیگه فرقی نمی کنه عکسا توی خود برنامه باشه یا نباشه. یه بار با کد بالا سایز عکس ها رو کوچیکتر کنید ببینید تغییری می کنه. البته من یه بار یه برنامه نوشتم که باید توش یه فایل منیجر هم می ساختم. بعدش نیاز داشتم توی فایل منیجر هر پوشه ای که عکسی داشت نمایشش بدم. برای اینکار از Thread استفاده کردم. اگه تعداد عکس ها زیاد باشه خیلی پیچیده میشه و من برای این یک روز کامل درگیرش بودم ولی برای شما که دو سه تا عکس بیشتر نیست می تونید خیلی راحت کدها رو توی Thread قرار بدید و هر جا هم که نیاز بود تغییری توی UI بدید از Handler استفاده کنید. (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .