2010-09-21 4 views
4

Je suis nouveau sur StackOverflow et j'espère trouver de l'aide sur ExpandableListView.Android: existe-t-il un moyen d'animer à la fois le groupe et listview d'un ExpandableListView?

J'utilise un ExpandableListView ayant plusieurs groupes mais un seul enfant dans chaque groupe. L'enfant est une vue personnalisée (FrameLayout) qui contient des ImageViews. Un seul groupe peut être développé en même temps (c'est ok).

Je voudrais animer les actions d'expansion et de réduction: dès qu'un clic sur un en-tête de groupe est fait, une animation devrait réduire le groupe étendu courant si une autre animation et une autre développent le groupe cliqué. Je souhaite que l'animation soit une transition en douceur animant à la fois la vue enfant (se cachant progressivement si elle s'effondre ou s'affiche progressivement si elle est en expansion) et les autres groupes (qui devraient se déplacer progressivement avec la vue enfant).

J'ai essayé d'animer la vue enfant sans grand succès: je n'ai pas trouvé comment définir l'animation "masquer/montrer progressivement". J'ai utilisé le fichier android par défaut appelé slide_in_left à des fins de test, mais il n'anime que la vue enfant.

Quelqu'un peut-il m'aider à trouver un moyen d'animer en douceur l'affichage/la dissimulation de la vue enfant et permettre à l'en-tête des groupes de suivre cette animation?

Merci beaucoup,

massou

+0

Salut, je veux faire la même chose, si vous trouvez s'il vous plaît poster it.Thanks – djk

+0

Avez-vous trouvé une solution à cela? – Hades

+0

@massou Bonjour, pouvez-vous poster une solution possible si vous en avez trouvé? merci – Beppe

Répondre

0
lstdata= (ExpandableListView)findViewById(R.id.walllist); 

int flag=1; 
adapter=new MydataAdapter(this,flag,wallpostlist); 
lstdata.setAdapter(adapter); 

adapter.notifyDataSetChanged(); 

lstdata.setOnGroupExpandListener(new OnGroupExpandListener() { 
    @Override 
    public void onGroupExpand(int groupPosition) { 
     int len = lstdata.getAdapter().getCount(); 
      if(i != groupPosition) { 
       lstdata.collapseGroup(i); 
      } 
     } 
    } 
}); 
+0

Il n'y a aucune animation dans cette réponse, qui est ce que l'affiche a demandé. – havchr

Questions connexes