Je suis la construction d'une application où je veux glisser des images comme si elles étaient des photos sur une pile. En d'autres termes, si je balaye l'image du haut, je veux qu'elle s'anime en se déplaçant dans la direction du balayage et que l'image suivante en dessous soit visible tout le temps. Pour ce faire, j'utilise un FrameLayout
et deux conteneurs ImageView
. Je suis en train d'alterner lequel est en haut. Pendant ce temps, dès qu'un balayage se produit, l'image suivante est chargée dans le ImageView
à l'arrière en utilisant setBackground(drawable)
. Mon problème est que le ImageView
à l'arrière ne met pas à jour son image jusqu'à ce que j'appelle bringToFront()
dessus, ce qui signifie que comme le ImageView
est en train d'animer, l'image ci-dessous est incorrecte jusqu'à ce que l'animation se termine, à quel point il change brusquement à la image correcte J'ai essayé d'appeler invalidate()
à l'arrière ImageView
après setBackground(drawable)
mais cela ne fonctionne pas. Quelqu'un a-t-il des idées sur la façon de mettre à jour l'image pendant qu'elle est en retard?Android: Mettre à jour l'arrière-plan ImageView tout en étant derrière d'autres ImageView
MISE À JOUR: Il se trouve que je ne suis pas très bon aujourd'hui. Je mettais à jour le mauvais ImageView
et parce que le chargement de l'image a été fait hors du réseau, il y avait juste assez de décalage pour me faire penser qu'il se produisait après l'animation terminée.
Je vais devoir regarder dans AndroidImageSlider, mais en attendant ces étapes sont essentiellement exactement ce que je fais. Je suis passé de 'setBackground (drawable)' à 'setImageDrawable (drawable)' mais cela n'a fait aucune différence. Les deux autres étapes sont ce que je fais. Je pense que le problème est que ImageView ne met pas à jour son image sauf si sa position z est en haut, ou quelque chose comme ça de toute façon. Je n'arrive tout simplement pas à comprendre comment le forcer à redessiner avant qu'il ne soit en haut. – Nick
Peut-être que vous postez votre code pour que je puisse l'inspecter. – Axel
Je me sens penaud ... Il se trouve que je mettais à jour le mauvais 'ImageView' de sorte que c'est ce qui causait le problème. Je vous vote pour avoir raison, mais je n'ai pas assez de réputation. Merci de votre aide! – Nick