عدم اجرای انیمیشن در thread
با سلام
من یه Splash Screen ساختم و داخل اون از کدهای زیر برای ایجاد یه تاخیر و رفتن به Activity بعدی استفاده کردم و مشکل اینجاست که برنامه اجرا میشه اما انیمیشن دلخواه نمایش داده نمی شه از handler هم نمی خوام استفاده کنم ممنون از راهنمایی تون
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
Thread thread = new Thread() {
@Override
public void run() {
try {
Thread.sleep(delayMillis);
}
catch (InterruptedException e) {
e.printStackTrace();
}
Intent intent = new Intent(G.currentActivity, ActivityMain.class);
startActivity(intent);
G.currentActivity.overridePendingTransition(android.R.anim.slide_out_right, android.R.anim.slide_in_left);
finish();
}
};
thread.start();
من متوجه منظورتون نمیشم که از Handler نمی خوام استفاده کنم ! ، توضیحات بسیار خوبی در مورد هندلر ها در انجمن هست ، ساده ترین توضیح اش که تکرار مکررات هست رو دوباره میگم
"یک کودک درخواست خرید بستنی را به مادرش ارائه می کند تا او برای خرید برود ، چرا که خیابان برای کودک خطرناک است"
کودک پردازش داخل یک ترد هست ، مادر ترد اصلی برنامه هست ، خیابان هم سیستم عامل !
پس شما هم باید از Handler ها استفاده کنید نمیخوام ام نداره ! ، اما جالب بدونید برعکس ، شما اینجا نیازی نیست از Thread ها استفاده کنید ! ، خود Handler ها قابلیت اجرای با Delay رو دارند ، مثل بعد از N میلی ثانیه این کار رو انجام بده
ممنون دوست عزیز . از Thread استفاده میکنم چون میخوام با متد Ontouch که تعریف میکنم اگه کاربر قبل از اتمام مدت نمایش SplashScreen روی اون تاچ کرد Activity بعدی اجرا بشه اما با هندلر هر کار کردم نشد یه بار با تاچ اکتیویتی بعدی باز میشد دوباره هم بعد از اتمام تاخیر نمایش SplashScreen یعنی دوبار باز میشد .یه سورس دیده بودم این کارو با Thread انجام داده بود اما انیمیشن نداشت
علت اینکه انیمیشن در Thread اجرا نمیشه چیه ؟
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .