در مورد پروژه استاد به نام Image Slider Project سوال دارم؟
با سلام:
من می خوام در همین پروژه عکس ها خودشون هم بتونن عوض بشن و Animation Alpha داشته باشه ... لطفا راهنمایی بفرمایید؟
final Animation animation = AnimationUtils.loadAnimation(G.context, R.anim.fashion_anim);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
//آرایه names حاوی لیست عکسهای داخل SDCARD هست
for (int i = 0; i < names.size(); i++) {
Thread.sleep(2250);
if (forwardCounter == names.size()) {
forwardCounter = 0;
return;
}
bitmap = BitmapFactory.decodeFile(G.DIR_DOWNLOADS + "/" + names.get(forwardCounter));
G.HANDLER.post(new Runnable() {
@Override
public void run() {
imgFashion.startAnimation(animation);
imgFashion.setImageBitmap(bitmap);
}
});
forwardCounter++;
}
}
catch (InterruptedException e1) {
e1.printStackTrace();
}
}
});
thread.start();
ببنید من نمی دونم که شما این عکسها رو چجوری می خواید نمایش بدید اما فرض رو بر این میگرم که این عکسها روی SDCARD هستند و شما از اون تو می خواید نمایششون بدید.
در اول کار شما باید لیست عکسهای درون دایرکتوری برنامتونو در یک آرایه ذخیره کنید:
private void getFileList() {
strings = file.list();
for (String files: strings) {
String[] newFile = files.split("/");
names.add(newFile[newFile.length - 1]);
}
}
خوب file اسم فایلی هستش که عکسها توش قرار دارند که اونو تو یک آرایه از String ها قرارش میدیم. از اونجایی که آدرس عکسها در SDCARD شبیه این هست: mnt/sdcard/yourapp/image-1.jpg و خوب ما فقط اسم عکسو می خوایم پس میایم میگیم که این String رو براساس / جدا کن و آخرین بخششو بریز توی آرایه names.
حالا Constructor ای که برای PagerAdapter در نظر گرفتیم رو کاری می کنیم که آرایه ای از String ها بگیره (که توسط استاد در آموزش ها آموزش داده شد).
حالا برای load عکسها از همون کد بالا استفاده کنید. همچنین دقت کنید که متد getFileList که من نوشتم توی یکی از پروژه هام اینجوری باید نوشته می شد اما شما می تونید به جای این روش از روش های دیگه مثل return کردن مقدار بدست اومده استفاده کنید.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .