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

صفحه تبلیغات برنامه

SaeiD-as  10 سال پیش  10 سال پیش
+1 0

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

داخل برنامم میخوام یک صفحه تبلیغات با انیمیشن طراحی کنم، به این صورت که اول لوگو شرکت میاد و رد میشه، بعد از اون اسم شرکت میاد و محو میشه و سپس توضیحات شرکت میاد و میره و این مراحل مجددا تا بینهایت ادامه پیدا میکنه، کلیت کار بنظر ساده میاد و من با یه حلقه بینهایت میخواستم طراحیش کنم اما درست نشد و برنامه کرش کرد، از ترد و هندلر هم استفاده کردم که مجددا به بن بست خوردم، از کد setStartOffset(time); هم استفاده کردم که مجددا اون چیزی نبود که مد نظرم بود!!

داخل انجمن و stackoverflow خیلی سرچ زدم اما چیز درستی پیدا نکردم، ممنون میشم راهنماییم کنید

با تشکر

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
بهروز  10 سال پیش
+1 0

نمیدونم چرا میگی نتونستم از هندلر و ...استفاده کنم چون هیچ اروری رو به ما نگفتی.خیلی کارا میشه کرد.یه روش ساده اش اینه که 3 تا انیمیشن بسازی و  و پشت سر هم قطاری به هم وصل کنید. یعنی اولی تموم شد .دومی شروع بشه.دومی تموم شد سومی شروع بشه.باز سومی تموم شد بره اولی شروع شه

 view1.startAnimation(anim1); 
anim1.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation arg0) {

}

@Override
public void onAnimationRepeat(Animation arg0) {

}

@Override
public void onAnimationEnd(Animation arg0) {
view2.startAnimation(anim2);
}
});
anim2.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationEnd(Animation arg0) {
view3.startAnimation(anim3);

}
});
anim3.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationEnd(Animation arg0) {
view3.startAnimation(anim1);


}
});

بازم میگم خیلی روشهای دیگه است و بهتر .ولی واسه کارای کوچیک این روش میتونه جواب گو باشه

 

0 0
دمت گرم داداش درست شد، البته برای اینکه زمانی که انیمیشن اولی که اجرا میشه بقیه داخل صفحه نباشن داخل متد onAnimationStart ویو بقیه رو بایستی gone قرار بدیم تا دیده نشن، من برای کارم setVisibility استفاده می کردم و بعد داخل حلقه while بی نهایت می انداختم و برای وقفه از thread.sleep() استفاده می کردم که کرش میکرد، بازم تشکر (10 سال پیش)
+1 0
خب اره باید قبلش Invisble یا gone کنی..نه به نظر واسه این کار همین روش واست جواب گو باشه و نخوای خودت درگیر هندلر و ترد کنی.خواهش (10 سال پیش)

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