با درود و احترام
در پروژه این جلسه از دو انیمیشن Rotate و Alpha ایجاد کردیم و در ادامه اونها رو به AnimationSet متصل کردیم.
هنگام اجرای برنامه اول انیمیشن Rotate اجرا میشه و بعد Alpha.
سئوال:
از اونجا که در زبان جاوا ترتیب و توالی کدها مهم نیست. اگر بخوایم اولویت اجرای دو انیمیشن فوق رو عوض کنیم چه باید کرد؟
منظورم این هست که..
بعنوان نمونه انیمیشن Alpha زودتر از Rotate اجرا بشه. چون هر چه کدها رو بالا و پایین میکنم. همچنان اولویت با Rotate هست.
RotateAnimation rotateAnimation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
ScaleAnimation scaleAnimation = new ScaleAnimation(1, 3, 1, 3, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
AnimationSet animationSet=new AnimationSet(true);
animationSet.addAnimation(rotateAnimation);
animationSet.addAnimation(scaleAnimation);
animationSet.addAnimation(alphaAnimation);
animationSet.setDuration(1000);
animationSet.setInterpolator(new AccelerateInterpolator());
//animationSet.setFillAfter(true);
animationSet.setRepeatCount(5);
animationSet.setRepeatMode(Animation.REVERSE);
سپاس
سلام و احترام
AnimationSet برای ترکیب(اولویت معنا ندارد) انیمیشن ها با هم استفاده میشه پس این قضیه که کدام زودتر اجرا شود معنی نمیدهد چرا که شما میتوانید از AnimationSet استفاده نکنید و ابتدا Alphaاجرا کنید و سپس RotateAnimation تون رو
یا با تغییر پارامتر های هر انیمیشن تغییرات خودتون رو لحاظ کنید .
در مورد این صحبتتون که =از اونجا که در زبان جاوا ترتیب و توالی کدها مهم نیست. این مورد درست نیست چرا که اگر بحث ترد ها و کوروتین ها رو در نظر نگیریم کد های جاوا sequential و متوالی اجرا میشوند.
پوریا جان. تریدها رو میدونم ولی کوروتین ها چی هستن؟ آشنایی ندارم با این لغت