Comment Animer l'Ajout ou la Suppression d'Android ListView Lignes

Dans iOS, il est très facile et puissant de la facilité à animer l'ajout et la suppression de la UITableView lignes, voici un clip d'une vidéo youtube montrant l'animation par défaut. Notez comment les environs lignes effondrement sur la ligne supprimée. Cette animation permet aux utilisateurs de garder une trace de ce qui a changé dans une liste, et la liste qu'ils étaient à la recherche à un moment où les données ont changé.

Depuis que j'ai été en développement sur Android, j'ai trouvé aucun équivalent facilité à animer des lignes individuelles dans un TableView. L'appel de notifyDataSetChanged() sur mon Adaptateur causes de la liste à immédiatement mettre à jour son contenu avec de nouvelles informations. J'aimerais vous montrer une simple animation d'une nouvelle ligne, poussant dans coulissantes ou lorsque les données changent, mais je ne trouve pas toutes documentées façon de le faire. Il ressemble à LayoutAnimationController peut détenir une clé pour obtenir que cela fonctionne, mais quand j'ai mis un LayoutAnimationController sur mon ListView (similaire à ApiDemo de LayoutAnimation2) et de supprimer des éléments de ma carte après que la liste est affichée, les éléments disparaissent immédiatement au lieu d'obtenir animés en.

J'ai aussi essayé des choses comme les suivantes pour animer un élément lorsqu'il est retiré:

@Override
protected void onListItemClick(ListView l, View v, final int position, long id) {
    Animation animation = new ScaleAnimation(1, 1, 1, 0);
    animation.setDuration(100);
    getListView().getChildAt(position).startAnimation(animation);
    l.postDelayed(new Runnable() {
        public void run() {
            mStringList.remove(position);
            mAdapter.notifyDataSetChanged();
        }
    }, 100);
}

Cependant, les lignes entourant l'animation de ligne ne pas déplacer la position jusqu'à ce qu'ils sautent de leur nouveau poste quand notifyDataSetChanged() est appelé. Il semble ListView n'a pas de mise à jour de sa mise en page une fois que ses éléments ont été placés.

Lors de l'écriture de ma propre mise en œuvre/fourche de ListView a traversé mon esprit, cela semble être quelque chose qui ne devrait pas être si difficile.

Merci!

  • quelqu'un a trouver la réponse à cette question? pls shareee
  • avez-vous fait de l'animation comme celle de la vidéo de youtube (comme l'iphone), Si vous avez une démo ou un lien pour android alors s'il vous plaît donnez-moi, j'ai essayé d'utiliser animateLayoutChanges dans le fichier xml, mais ce n'est pas exactement comme l'iphone
  • malheureusement je n'ai plus de travail sur le développement Android. Je n'ai pas testé les réponses à cette question qui ont été écrits après la autour 2012.