J'ai, en mode design, placé une vue juste à l'extérieur de la limite droite de l'écran de l'appareil Android. Je veux jouer une animation et la déplacer de l'extérieur de l'écran vers l'écran pour faire un effet d'entrée, rien d'extraordinaire.Dans le deltaX d'une animation Android, devrais-je utiliser des pixels ou un pourcentage?
Cependant, je me bats avec les paramètres deltaX depuis. Quels sont les nombres corrects à poser? Dois-je aller avec des pixels ou en pourcentage?
Lorsque je donne la bonne entrée, l'événement correct a été déclenché mais la vue est introuvable, elle n'apparaît pas du tout sur l'écran.
Voici mon code problématique:
Animation:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="300" />
</set>
La vue en question:
<GridView
android:id="@+id/android_gridview_menu"
android:layout_width="80dp"
android:layout_height="0dp"
android:background="#ffffff"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/MainUI"
android:layout_marginLeft="0dp">
n'a pas vraiment travailler, je crois en utilisant le fichier de ressources anime est plus raisonnable. – VictorCharlie23
Cette méthode playEnterAnimation() ne fonctionne que lorsque vous traduisez d'abord la vue hors de l'écran en utilisant le code // Affichage de la grille de traduction hors de l'écran GridView gridView = findViewById (R.id.android_gridview_menu); Afficher l'affichage = getWindowManager(). GetDefaultDisplay(); Taille du point = new Point(); display.getSize (taille); gridView.setTranslationX (size.x); –