Comment glisser une ImageView de gauche à droite en douceur dans Android?
J'ai besoin de faire un ImageView
faites glisser de gauche à droite de l'écran, avec une animation fluide (je veux la ImageView
pour être visible lors de la transition) j'ai essayé avec le code suivant:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
camion.animate()
.translationX(width)
.setDuration(2000)
.setInterpolator(new LinearInterpolator())
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
//camion.setVisibility(View.GONE);
}
});
La ImageView
se déplace, mais l'animation est lag et pas lisse comme je veux.
Ce que je fais mal sur le code?
voir cette réponse : stackoverflow.com/a/12999391/2337837
J'ai essayé l'exemple, mais l'animation est toujours lag
Juste par curiosité, quel appareil vous de tester ce sur? Ou êtes-vous tester sur un émulateur?
je suis un essai sur une Moto G 2014 avec android L
J'ai essayé l'exemple, mais l'animation est toujours lag
Juste par curiosité, quel appareil vous de tester ce sur? Ou êtes-vous tester sur un émulateur?
je suis un essai sur une Moto G 2014 avec android L
OriginalL'auteur LS_ | 2015-07-22
Vous devez vous connecter pour publier un commentaire.
La création de ce type d'interpolation animation est simple. Il suffit de suivre les étapes,
Étape 1
Créer un répertoire
anim
à l'intérieur de lares
répertoire et de mettre ce queslide.xml
Vous pouvez bien sûr personnaliser l'animation en changeant les deux attributs
fromXDelta
ettoXDelta
. Le %p se réfère à l'égard de la mère ce qui signifie tout simplement qu'il va déplacer l'image à 75% à l'égard de la mère.Étape 2
Vous pouvez également
setInterpolator()
etsetListeners()
si vous le souhaitez. Je n'ai pas montré ici pour garder les choses simples. Si vous avez besoin, laissez-moi savoir.NOTE
Comme vous l'avez mentionné à plusieurs reprises, que vous rencontrez un lag animation. J'ai testé cette animation sur 3 dispositifs réels et les 2 émulateurs et l'animation était de beurre lisse sur chacun d'eux. Testé sur le bas de gamme des appareils comme le Moto E à haut de gamme des appareils comme le Nexus 5 et le Galaxy S6.
Si vous avez encore un décalage de l'exécution de ce code, puis le dispositif de test doit être la raison. Le code est parfait.
Mise à JOUR
Je viens de vérifier sur mon Moto G en cours d'exécution sur Lollipop trop, l'animation est en cours d'exécution en douceur. C'est un très petit et léger, l'animation, et ne doit jamais être lag. Si vous obtenez toujours un décalage, puis il doit être le périphérique à tester, ou de quelque autre morceau de code que l'Activité faisant l'INTERFACE utilisateur lent ou ne répond pas.
Essayer pour voir laquelle est applicable à vous,
AsyncTask
pour ces lourdes opérationsJ'ai mis à jour la réponse, s'il vous plaît vérifier.
Contente de savoir que ça fonctionne bien maintenant. J'ai aussi passé beaucoup de temps de le tester sur de nombreux appareils, juste pour vous. Espère que vous allez accepter la réponse et de récompenser la générosité. Merci.
Je peux le comprendre. Pas du tout un problème. Ce serait formidable si vous pouvez attribuer la prime. Merci.
beurre lisse effet +1
OriginalL'auteur Aritra Roy
OriginalL'auteur subrahmanyam boyapati
De l'essayer. Il sera animé de l'imageview.
ok je suis en train de le faire pour vous. jusqu'à ce que d'attente pour un peu plus de réponses
une fois de regarder ce stackoverflow.com/questions/13860780/...
mm, je ne pense pas qu'ils veulent atteindre en regardant le violon, j'ai essayé cette méthode, mais il met à l'échelle l'image
OriginalL'auteur Gopal Singh Sirvi
d'essayer le code ci-dessous
OriginalL'auteur Andrew Coder
Espérons que cela fonctionne pour u
animation.xml
Animation.java
OriginalL'auteur Anshul Khare
OriginalL'auteur Zigri2612