ورود

View Full Version : تکرار انیمیشن بصورت نامحدود



moralschool
دوشنبه 04 اسفند 1393, 09:49 صبح
سلام
من در برنامم از یه انیمیشن ساده استفاده کردم که میخوام تا زمانی که کاربر در اکتیویتی هست ، این انیمیشن تکرار بشه . در صورتی که بصورت معمولی فقط یه بار اجرا میشه !
کدی که برای اجرای انیمیشن استفاده کردم اینه :


anim.start();

بجای start از دستور ran هم استفاده کردم بازم انیمیشن تکرار نیمشه
چه کدی نیازه ؟

meysam jahedi
دوشنبه 04 اسفند 1393, 10:52 صبح
شما یه بار اینتو تست کن ببین جواب میده ؟
android:repeatCount="infinite"

moralschool
سه شنبه 05 اسفند 1393, 07:13 صبح
متاسفانه جواب نداد !

meysam jahedi
سه شنبه 05 اسفند 1393, 09:21 صبح
متاسفانه جواب نداد !

کد کامل انیمیشنی رو که استفاده میکنید بزارید لطفا

moralschool
سه شنبه 05 اسفند 1393, 09:46 صبح
توی XML کدم اینه :


<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true" xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/ani1" android:duration="400"/>
<item android:drawable="@drawable/ani2" android:duration="200"/>
<item android:drawable="@drawable/ani1" android:duration="200"/>
<item android:drawable="@drawable/ani3" android:duration="200"/>
<item android:drawable="@drawable/ani1" android:duration="400"/>
<item android:drawable="@drawable/ani4" android:duration="200"/>
<item android:drawable="@drawable/ani1" android:duration="400"/>
</animation-list>

توی جاوا هم اینه :


final ImageView iv = (ImageView) findViewById(R.id.ivRight);
iv.setBackgroundResource(R.anim.animation);
anim = (AnimationDrawable) iv.getBackground();
iv.setImageDrawable(null);

anim.start();

armin8651
سه شنبه 05 اسفند 1393, 15:26 عصر
anim.run();

atpf67
سه شنبه 05 اسفند 1393, 16:38 عصر
anim.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {

}

@Override
public void onAnimationRepeat(Animation animation) {

}

@Override
public void onAnimationEnd(Animation animation) {
anim.start();

}
});

moralschool
سه شنبه 05 اسفند 1393, 19:46 عصر
متاسفانه هیچ کدوم کار نکردن
هم anim.run و هم کد های بعدی که گفته بودید :افسرده:

atpf67
سه شنبه 05 اسفند 1393, 22:51 عصر
متاسفانه هیچ کدوم کار نکردن
هم anim.run و هم کد های بعدی که گفته بودید :افسرده:

سلام دوست عزیز من فکر کردم شما از Animation استفاده میکنید اما چیزی که الان متوجه شدم اینه که شما از AnimationDrawable استفاده میکنید.

* برای تکرار بی نهایت در AnimationDrawable باید توی فایل xml تون خاصیت oneshot مربوط به تگ انیمیشن رو false بدید.

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >

moralschool
سه شنبه 05 اسفند 1393, 23:18 عصر
ممنون بله با همین روش درستش کردم ممنون از اینکه جواب دادید :تشویق:
اما حالا اگه بخوام با کلیک روی دکمه ای در همون اکتیویتی stop بشه ، و دوباره با کلیک ، run بشه ، این کار صورت نمیگیره ! لطفا روش این رو هم بگید
ممنونم

atpf67
سه شنبه 05 اسفند 1393, 23:42 عصر
اما حالا اگه بخوام با کلیک روی دکمه ای در همون اکتیویتی stop بشه ، و دوباره با کلیک ، run بشه ، این کار صورت نمیگیره ! لطفا روش این رو هم بگید
ممنونم

if(anim.isRunning()){
anim.stop();
}else{
anim.start();
}

moralschool
چهارشنبه 06 اسفند 1393, 00:14 صبح
تشکر :لبخندساده: