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

انیمیشن تغییر رنگ یک متن

مدیریت گفتگو
Beny@min 10 سال پیش
آخرین تغییر: 10 سال پیش

(سلام به همه ی کاربران خوب سایت خانه ی اندروید)

 

میخواستم بدونم انیمیشنی برای تغییر رنگ یک متن (TextView) وجود داره؟

مثلا متن ما به صورت انیمیشن ،سبز و قرمز بشه . . .

لطفا راهنمایی کنید :)

با تشکر . . .

نظرات

پاسخ‌ها 2

صادقی راد 10 سال پیش

سلام

اگر منظورتون صرفا Blink شدن هستش که میتونید داخل یه حلقه بینهایت پشت سر هم رنگ ها رو عوض کنید ، اگر هم میخواین به صورت انیمیش از رنگی به رنگ دیگه تبدیل شه که برای این کار سه روش وجود داره :

1-Value Animator

2-Object Animator

3-Transition Drawable

مورد اول یعنی Value Animator رو توضیح میدم ، دو مورد دیگه رو به عهده خودتون واگذار میکنم :

کد استفاده شده به شکل زیر هستش :

 ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), 0xffFF0000, 0xff00FF00 , 0xff0000FF);
colorAnimation.setDuration(6000);
colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override
public void onAnimationUpdate(ValueAnimator animator) {
txt.setTextColor((int) animator.getAnimatedValue());
}

});
colorAnimation.start();

که در خط اول کد میایم و رنگ های انیمیشن رو درست میکنیم ، که تو این مثالی که زدم ، ابتدا قرمز سپس سبز و در انتها آبی میشه ، به هر تعدادی که بخواین میتونین رنگ قرار بدین و ناحیه رو محدود تر کنین و رنگ های نزدیک تر رو انتخاب کنین ، خط دوم هم میایم و مدت زمان رو تعیین میکنیم که من 6 ثانیه گذاشتم که تغییرات واضح باشن ، سایر قسمت های کد چیز پیچیده ای ندارن .

امیدوارم توضیحات کامل و کافی بوده باشه .

موفق باشید./

نظرات

Beny@min 10 سال پیش
خیلی ممنون از کمکتون ، فقط نتونستم استفاده کنم ؛ میشه لطف کنید دقیق تر بگویید که بعد از اینکه به متن id دادیم ، این کدی که گفتید را کجا استفاده کنم و چطور اونو تو اکتیویتی صدا بزنم... متشکرم
Beny@min 10 سال پیش
من هر کاری کردم نتونستم اجراش کنم ...لطفا کمک کنید
صادقی راد 10 سال پیش
سلام مجدد ، به علت امتحانات دانشگاه و یک سری درگیری ها به سایت سر نمیزدم ، ندیدم پیامتون رو ، ببینید برای مثال میتونید داخل Listener یک دکمه بنویسین کل کد رو که زمانی که برای مثال روی دکمه کلیک میشه این اتفاق یک مرتبه بیوفته و اگر هم میخواین از اول اکتیویتی این اتفاق رخ بده میتونین کد رو داخل یک Thread قرار بدین و به هر تعداد بار که نیاز داشتین برنامه کد اجرا بشه ، سعی کنین همین توضیحاتی که دادم رو پیاده سازی کنین ، اگر واضح نبود بگین که نمونه کد بدم خدمتتون ، بعد دقیقا میخواین مداوم انجام بشه یا فقط برای یک مرتبه ؟ موفق باشید./
Beny@min 10 سال پیش
سلام،خیلی ممنون از پاسختون همه چیزش درسته ، فقط مشکلم اینه که هر کاری کردم نفهمیدم(( ValueAnimator رو را کجا و چطور تعریف کنم...)) چون بهش گیر میده و همین طور به ArgbEvaluator ؛ حالا مثلا میخوام یک متن رنگش مداوم طی 6 ثانیه تغییر کنه... بازم متشکرم :)
صادقی راد 10 سال پیش
فرقی نمیکنه شما این یک خط کد رو کجا تعریف کنین ، فقط باید جایی تعریف کنین که دسترسی بهش وجود داشته باشه ، من خودم از همین یک قطعه کد داخل لیسنر کلیک یک دکمه گذاشته بودم که نیاز داشتم رنگ رو تغییر بدم ولی شما که میخواید مداوم از ابتدای برنامه این اتفاق بیوفته ، یک Thread استخدام کنین و داخل قسمت Run ترد یه حلقه بی نهایت قرار بدین و این کد رو داخل حلقه بذارین که مداوم اجرا بشه ، اگر باز هم مشکلی بود بگید که نمونه کد بدم راحت تر جا بیوفته ، موفق باشید./
Beny@min 10 سال پیش
سلام ،ببخشید بازم مزاحمتون میشم ولی من هر کاری میکنم بازم نمیشه ،لطفا یه نمونه کدی یا عکسی ،چیزی بگذارید تا بفهمم مشکل از کجاست... من عکسی در پایین قرار دادم، ببینید مشکل از کجاست خیلی ممنون
Beny@min 10 سال پیش
جناب صادقی راد از شما هم بابت کمکتون ممنونم، مشکل از API بود ،که من از 8 استفاده میکردم و بهش ارور میداد ولی وقتی 15 کردم ،درست شد و کار کرد...
Beny@min 10 سال پیش

نظرات

Spirit 10 سال پیش
MinSDK شما چنده؟ این کلاسهایی که دوستمون بالاتر نوشتن توی API 11 اضافه شدن.
Beny@min 10 سال پیش
خیلی ممنون دوست عزیز ،بله مشکل این بود که من از API 8 استفاده میکردم ، وقتی 15 کردم درست شد :)

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