این انیمیشن باعث fade in شدن و fade out شدن میشه.
تگ set در واقع container هست و میتونه چند تا انیمیشن رو شامل بشه.
اگر یه دونه انیمیشن قراره ست شه، بهتره همون انیمیشن روت قرار بگیره. هر چند روت میتونه set باشه.
این انیمیشن باعث fade in شدن و fade out شدن میشه.
تگ set در واقع container هست و میتونه چند تا انیمیشن رو شامل بشه.
اگر یه دونه انیمیشن قراره ست شه، بهتره همون انیمیشن روت قرار بگیره. هر چند روت میتونه set باشه.
انیمیشن رو توی اندروید میشه برای هر ویویی به کار برد. روش های زیادی برای پیاده سازی انیمیشن وجود داره.
هم میشه با کد جاوا نوشت، هم میشه با ترکیبی از کد جاوا و XML نوشت و هم میتوان از کتابخانه های third party (مثل یویو) استفاده کرد.
در روش ترکیبی کد جاوا و XML، باید فولدر anim در دایرکتوری res تعریف شه و توی این فولدر یک فایل XML شامل انیمیشن مورد نظر نوشته بشه. این روش بهتریه، چون هم کد خواناتره هم میشه برای ویوهای دیگه از این انیمیشن استفاده کرد.
در ادامه هر یک انیمیشن ها رو توضیح میدم
ریسایکلر ویو مثل لیست ویو میمونه ولی پیاده سازیش راحت تره.
1. باید یک کلاس اداپتر براش بنویسیم که از کلاس RecyclerView.Adapter اکستند میشه و ویو هلدر تایپ جنریک اون هست.
NaN = Not a Number
مثلا اگر رادیکال -2 رو چاپ کنیم Nan میده. چرا؟ چون لزوما اشتباه نیس و این عدد در حوزه اعداد مختلط تعریف شدس
همین طور 0.0/0.0 هم مقدارش Nan هست. چون 0.0 صفر مطلق نیست و صفر حدودیه.
ولی 1/0 میشه بی نهایت(Infinity چاپ میکنه). چون اینجا منظورمون صفر مطلقه.
سایز دیوایس همون رزولوشن نیست. ممکنه یه گوشی کوچیک باشه ولی رزولوشن اون از یه تبلت بیشتر باشه. برای ما اندازه طول و عرض دیوایس مهمه. کلا ما با رزولوشن کاری نداریم.
توی کد اول رزولوشن طول و عرض رو میگیریم و با تقسیم اون بر density (یعنی همون تعداد پیکسل در هر اینچ) سایز دیوایس بدست میاد.
این لینک خیلی خیلی خیلی خوبه.
همه چیو در مورد فرگمنت گفته. لایف سایکل، متدهای فرگمنت منیجر و اینا
حتما برای مرور دوباره بخون.
توی این روش از دو تا فریم لی اوت استفاده کرده و در ابتدا با فرگمنت منیجر هر دو فرگمنت رو سر جاشون قرار داده.
با دو تا کال بک توی هر فرگمنت دیتارو از یه فرگمنت میگیره و توی اون یکی نشون میده و برعکس.
توی این روش میشه از یک فریم لی اوت استفاده کرد و از ویوی فرگمنت به صورت ثابت استفاده نکرد.
اینجا مثل روش قبل، توی فرگمنت اول یک لیسنر هست که توسط اکتیویتی پیاده سازی شده. در فرگمنت دوم از متد استاتیک getInstance استفاده شده، بدین معنا که دیتای گرفته شده از فرگمنت اول به آرگومان این متد داده میشه.
برای ارتباط بین دو فرگمنت از طریق لیسنر، باید از فرگمنت های ثابت استفاده کنیم. یعنی از ویوهای فرگمنت در اکتیویتی های اصلی استفاده بشه. کد XML اکتیویتی: