Похоже, что Анимация и Аниматоры позволяют мне анимировать свойства (положение, непрозрачность, масштаб, вращение и т.д.) на объектах, и мне сложно провести различие между вариантом использования для обоих. Когда следует использовать аниматор против анимации и наоборот?
В чем разница между аниматором и анимацией?
Ответ 1
Animations
являются более старыми версиями Animators
. Аниматоры, которые представлены в версии 3.0, помогут преодолеть некоторые недостатки, которые есть в анимациях.
Animations
изменять визуальное представление объекта. Это нормально, если вы просто изменяете непрозрачность, но это вызывает проблемы при переводе, повороте или масштабировании объектов. В прежние времена до Animators
, если вы перевели объект, вам пришлось выполнить повторный макет с новыми координатами. Это может быть довольно сложно в зависимости от места перемещения объекта.
Аниматоры, с другой стороны, изменяют физические свойства объектов. Это означает, что если вы перемещаете представление в новое место, координаты касания будут отображаться в новом месте без каких-либо других вмешательств.
Лично я больше не использую анимацию, если я не разрабатываю API 2.3 или меньше. К счастью, это становится проблемой. Существуют также некоторые старые классы, которые по-прежнему используют API анимаций, особенно когда речь идет об использовании ресурсов xml, таких как класс android.support.v4.app.FragmentTransaction
(обычный FragmentTransaction
поддерживает Аниматоры).
В качестве побочного примечания проект NineOldAndroids был разработан для имитации функциональности аниматоров, но с использованием анимаций, чтобы вы могли создавать приложения, которые работают все путь к 1.6.
Ответ 2
Объект Animation
анимирует изображение вида. Если вы используете это, например, для перемещения кнопки по экрану, вы не сможете нажать на нее в новой видимой позиции, потому что она не была действительно перемещена, а только его растровое представление было переведено. Вы также не сможете изменить его пропорции, поскольку вносите изменения в растровое изображение. Если вы используете XML файлы, поместите их в папку anim
.
Объект Animator
анимирует свойство представления (например, поле или ширину). Если вы будете использовать это для перемещения кнопки по экрану, вы сможете захватывать клики на ней в новых видимых местах. Если вы используете XML файлы, поместите их в папку animator
.
Если вам нужны только косметические эффекты, такие как постепенное появление или трансляция небольшого внешнего вида, использование Animation
будет более эффективным, поскольку оно не вызывает методы layout()
или measure()
. Если вам нужно захватить такие действия, как события щелчка, используйте Animator
.
Ответ 3
Тото Bsjdbzbdjxjdbdjxbdbdlslqndkdldkskzlskfnfkfkjffnfkckfnenxodbdbfbxjdksd
Dkdndksk😏😏😊😇😊🦁🐷🐮
/\_/\
( -_- )
/ |>