بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

منتظر گذاشتن اینتنت تا اتمام انیمیشن

مدیریت گفتگو
Smsbaz 12 سال پیش
آخرین تغییر: 12 سال پیش

سلام دوستان

به دکمه انیمیشن میدم اما تا میاد انجام بشه صفحه عوض شده

ترد میزارم فایده ای نداره

چطوری درستش کنم؟

نظرات

اگه توسط همین دکمه قراره صفحه عوض بشه و انیمیشن با کلیک اجراش شروع میشه توسط هندلر میتونی تعویض صفحه رو به عقب بندازی
Spirit 12 سال پیش
با Listener هم میشه به هدفت برسی : لینک
Smsbaz 12 سال پیش
مرسی دوستان تست میکنم ببینم چی میشه
در مورد سوالت راهکار spirit خیلی منطقی تره تا ایجاد وقفه
Hossein Rezaei 12 سال پیش
برای ترتیب انیمیشن دو دکمه درسته اما برای تعداد بیشتر این روش جوابگو نیست، یعنی کدش اصلا بهینه نیست. خیلی پیشتر می خواستم تاپیکی رو که S P ! R ! T جان لینک داد رو بیارم بالا اما فرصتش پیش نیومده بود. بهتره برای به ترتیب اجرا شدن انیمشن های چند عنصر UI یک راه حل منطقی و کامل پیدا کنیم.
کدش بهینه هست - یه آرایه از انیمیشن ها رو با یه لیسنر میتونی کنترل کنی - در حقیقت بهینه بودنش به نحوه پیاده سازی بر میگرده، ضمنا ایجا صحبتی از توالی نشده
Hossein Rezaei 12 سال پیش
در لینک S P ! R ! T شده و در واقع توالی دو انیمشن رو داره کنترل میکنه که البته من نتونستم با اون کد کنترلش کنم، وقتی خواستم برا ی دو Button از اون استفاده کنم، اول دکمه 1 وارد صفحه می شد، بعد دکمه 1 ناپدید شده، سپس دکمه 1و2 با هم وارد صفحه می شد! اگر کسی از دوستان این کار رو با لیسنر ها انجام داد ما رو هم مستفیض کنه (البته خودم الان یکم سرم شلوغه وگرنه زودتر از اینا اینکارو به سرانجام میرسوندم، ایشالا در اولین فرصت منم دست بکار میشم!)
Hajhosseini 12 سال پیش
حسین رضایی جان شما انیمیشن قبلی رو کنسل نکردی و روی ریپیت بوده ، برای کنسل کردن انیمیشن بهتره از روی View که روی اون انیمیشن ست شده اون رو کنسل کنید.مگر نه بهترین روش استفاده از انیمیشن ها کار با لیستنر ها هست

پاسخ‌ها 2

AmiR 12 سال پیش

سلام دوست من ...

از این کد استفاده کن

yourAnimation.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation arg0) {

}


@Override
public void onAnimationRepeat(Animation arg0) {

}


@Override
public void onAnimationEnd(Animation arg0) {
Intent intent = new Intent(G.context, SecondActivity.class);
G.currentActivity.startActivity(intent);
}
});

نظرات

Smsbaz 12 سال پیش
مرسی دوستای گلم.ولی هر کاری میکنم به محض اینکه انیمیشن میخواد اجرا بشه اینتنت کار خودشو کرده و صفحه عوض شده.بعد عم به صفحه قبل میری انیمیشن به اخر رسیده و از اجرا شدن مجدد خبری نیست.چکارش کنم؟
Hajhosseini 12 سال پیش
اگر کدتون رو قرار بدید بهتر میتونیم کمکتون کنیم
Smsbaz 12 سال پیش
ببینید دوست عزیز کد خاصی مد نظرم نیست.من یه انیمیشن می خوام روی یک دکمه قرار بدم.اسم دکمه buton اسم انیمیشنه anim.حالا من یه انکلیک لیسنر گذاشتم واسه دکمه ای که انیمیشنه روشه.کلیک میکنم انیمیشنه تا یه تکون کوچلو می خوره دکمه هه صفحه رو به ضفحه دیگه هدایت میکنه و کاربر انیمیشنرو نمی بینه.بعدن هم به اون صفحه بر میگردیم انیمیشن تموم شده و مجدد تکرار نمی کنه.چکار کنم برنامه منتظر بمونه انیمیشنه اجرا بشه تموم که شد بره به صفحه ای که بهش اشاره کرده.وقتی هم برگشتیم انیمیشنه به اول برگشته باشه؟
Hajhosseini 12 سال پیش

اینم سورس کامل برای شما دوست عزیز ، شما هر جا بری شناسایی میشی ;)

 final Button btnRotate = (Button) findViewById(R.id.btn1);
        btnRotate.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                AnimationSet rotateAnim = new AnimationSet(false);
                RotateAnimation rotateAnimation = new RotateAnimation(720, 0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
                rotateAnimation.setDuration(2000);
                rotateAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
                rotateAnimation.setRepeatCount(0);
                rotateAnim.addAnimation(rotateAnimation);

                btnRotate.setDrawingCacheEnabled(true);
                btnRotate.startAnimation(rotateAnim);

                rotateAnim.setAnimationListener(new AnimationListener() {

                    @Override
                    public void onAnimationStart(Animation arg0) {

                    }
                    @Override
                    public void onAnimationRepeat(Animation arg0) {

                    }
                    @Override
                    public void onAnimationEnd(Animation arg0) {
                        Intent intent = new Intent(getApplicationContext(), ActivitySecond.class);
                        TestAnimIntentActivity.this.startActivity(intent);
                    }
                });
            }
        });

نظرات

Hajhosseini 12 سال پیش
ایندفعه انگار درست شد ! دوست عزیز تست کردم درست کار کرد پس دیگه فکر نکنم مشکلی باشه
Smsbaz 12 سال پیش
=)) چهرهای مشهور همیشه شناسایی میشن!!!دستت طلا.تست میزنم
Smsbaz 12 سال پیش
ایول اقا.بازم ممنون عزیز
Hajhosseini 12 سال پیش
موفق باشی دوست خوبم ;)

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