Аниматор пайда болғанға дейін Android-де тек анимациялар болған. Олардың басты кемшілігі-олар тек түрдің көрінісін анимациялайды және оның қасиеттерін өзгертпейді. Сондықтан, егер сіз кез-келген элементтің қозғалысын анимациялағыңыз келсе, онда анимацияның соңында оның қасиеттерін өзгерту керек. Егер сізге сәл күрделі анимация қажет болса немесе анимация кезінде басуды ұстап алу қажет болса, бұл тәсіл өте ыңғайлы емес.
Қолдану:API аниматорды пайдалануға мүмкіндік бермейтін жерде.
Қолдану:API аниматорды пайдалануға мүмкіндік бермейтін жерде.
Артықшылықтары:Жоқ
Кемшіліктері:Ескірген API тек көрінісін өзгертеді.
Анимация векторных ресурсов (aka AnimatedVectorDrawable)
Бұл Android анимацияның ең қызықты бөлігі. Сіз күрделі және қызықты әсерлерге салыстырмалы түрде аз күшпен қол жеткізе аласыз. Android-тегі белгішелерді түрлендіру дәл осылай жасалады.VectorDrawable элементтердің жолы мен тобынан тұрады. Анимация жасау осы элементтерге қозғалыс тағайындауға дейін азаяды. API 25-тен бастап векторлық анимациялар RenderThread-те пайда болады, сондықтан біз UI Thread-ге бірдеңе жүктесек те, анимациялар бәрібір тегіс (плавно) ойнатылады.
Кемшіліктері:Анимация нүктесін уақыт бойынша қолмен басқару мүмкіндігі жоқ (яғни, setCurrentTime сияқты әдіс жоқ)
Часть 2. Комплексные анимации 1. Анимация изменений лэйаута (aka animateLayoutChanges)
GIF сияқты анимацияға қол жеткізу үшін бізге тек xml — дегі ViewGroup-қа animateLayoutChanges жалаушасын қосу керек. Енді біз контейнерге элементті алып тастағанда немесе қосқанда немесе оның қасиеттерін өзгерткенде, олар автоматты түрде анимацияланады.
Жарайды, мен анимацияны жоғарыдағы GIF сияқты алу үшін тек жалаушаны орнату керек деп айтқан кезде біраз шу шығардым. AnimateLayoutChanges қосу іс жүзінде біздің ViewGroup LayoutTransition орнатады. Бірақ LayoutTransition әдепкі бойынша layoutt нысандарының көрінуін Өзгертуді ғана жандандырады. Сондықтан, егер біз объектінің қасиеттерін өзгерткіміз келсе (мысалы, ені мен биіктігі), бұл опцияны бөлек қосу керек:
val layoutTransition = viewGroup.layoutTransition layoutTransition.enableTransitionType(LayoutTransition.CHANGING)
Енді бәрі анық. Егер сіз осы мінез-құлықты қандай да бір жолмен теңшегіңіз келсе, онда LayoutTransition-да өзіңіздің жеке анимацияңызды орнатуға мүмкіндік беретін set Animator әдісі бар. Ең хардкор жігіттер әрқашан өздерінің LayoutTransition жаза алады.
Енді бәрі анық. Егер сіз осы мінез-құлықты қандай да бір жолмен теңшегіңіз келсе, онда LayoutTransition-да өзіңіздің жеке анимацияңызды орнатуға мүмкіндік беретін set Animator әдісі бар. Ең хардкор жігіттер әрқашан өздерінің LayoutTransition жаза алады.
Қолдану:объектілерді өзгертудің негізгі анимациясы.• Артықшылықтары:Минималды еңбек шығындары Кемшіліктері:Әлсіз кастомизация