Fun Learning Android Basic Animator Properties
Comme un développeur Android, il est important pour nous de connaître toutes les propriétés de base de l’animateur en place, car c’est pratique lorsque nous en avons besoin.
Comme test, j’ai fait une activité simple qui contient et utilise toutes les propriétés de base de l’animateur pour une vue. (remarque: je dis basique, c’est parce que, avec l’API Animator, nous pourrions animer presque n’importe quoi, pas seulement les éléments de base comme dans l’ancienne API Animation)
Vérifiez que vous identifiez toutes les propriétés animées ci-dessous? Il y en a neuf.
Si vous ne pouvez pas les obtenir tous les neuf, passons en revue ci-dessous.
Vous pouvez obtenir le code ici.
Toutes les animations ci-dessous sont basées sur le même paramètre d’animation que ci-dessous.
ofFloat(0f, 3600f).apply {
repeatMode = REVERSE
repeatCount = INFINITE
interpolator = AccelerateDecelerateInterpolator()
duration = 10000
addUpdateListener { animation ->
// The animation settings are all listed below
}
}.start()
Il existe 3 types de rotations
1. Rotation
view_fan.rotation = progress
Il s’agit en fait d’une rotation Axe-Z. Mais il ressemble à une rotation naturelle de la vue de dessus, c’est pourquoi il est simplement nommé rotation.
2. RotationX
text_happy.rotationX = progress
Cela tourne sur l’Axe X, ce qui le rend plus comme une sensation 3D du texte.
3. RotationY
text_arrow.rotationY = progress
Cela tourne sur l’axe Y, ce qui le rend plus comme une sensation 3D du texte. Le texte est juste >->
, avec une couleur d’arrière-plan semi-transparente.
Il existe 3 types de traductions de base ci-dessous.
Remarque: l’API de traduction peut être source de confusion, en particulier pour l’animation, car elle a
x
,xBy
,translationX
, (pour Y et Z également). Ils sont bien expliqués dans https://stackoverflow.com/a/50190859/3286489
4. TranslationX
view_yatch.translationX = progress/10
Cela se déplace essentiellement le long de l’axe X. le /10
est de ralentir le mouvement.
5. TranslationY
view_hotair.translationY = - progress/10
Cela se déplace essentiellement le long de l’axe Y. Il est négatif, car le déplacement vers le haut est négatif. La coordonnée de Y commence de haut en bas.
6. TranslationZ
btn_press_me.translationZ = progress/50
Cela se dirige vers l’axe Z. Il n’est appliqué qu’à l’ombre qui l’entoure, tandis que la taille de la vue est conservée. Faire sentir que le bouton se déplace vers le haut. Pour la vue sans ombre, cet effet n’est pas visible.
7. Alpha
view_cloud.alpha = (3600 - progress)/3600
Cela modifie la transparence de la vue. La valeur va de 0 (totalement transparent) à 1 (totalement opaque). Ceci est utile pour faire apparaître et masquer un objet.
8 et 9. ScaleX et ScaleY
view_sun.scaleX = progress/3600 + 1
view_sun.scaleY = progress/3600 + 1
Cela modifie la taille de l’échelle X et Y. Il est modifié au même rythme pour garantir que l’image n’est pas déformée.
Une valeur inférieure à 1 la rendra plus petite que la taille d’origine indiquée dans la mise en page, et une valeur supérieure à 1 la rendra plus grande que la taille d’origine indiquée dans l’échelle du nombre donné.