2016-10-20 2 views
2

Ich versuche zu erreichen, erweitern und reduzieren Animation in RecyclerView und versuchte dies solution, aber es hat eine Menge Probleme, und ich kann es nicht mehr verwenden, Auch o versuchte viele Lösungen, aber es funktioniert nicht wie die Ansicht dies mit der Ansicht angefordert von Kunden wie Maßstab kollabieren:Animation ein- und ausblenden

view.animate().scaleY(1/item.getHeight()).setDuration(300).withEndAction(new Runnable() { 
    @Override 
    public void run() { 
     item.setVisibility(View.GONE); 
    } 
}); 

ich mag die Animation genau so:

Image

gibt es eine Möglichkeit, dies zu tun?

+0

https://www.bignerdranch.com/blog/expand-a-recyclerview-in-four-steps/ hast du es versuchen? –

Antwort

0

Sie können immer eine 3rd-Party-Bibliothek für eine nette Implementierung verwenden, aber ich verwende diese Möglichkeit, um die Anzahl der Bibliotheken in meiner App zu reduzieren.

int mExpandedPosition = -1; 
int OldOpen = -1; 
@Override 
     public void onBindViewHolder(final Example.ViewHolder holder, final int position) { 


//what ever your bind logic goes here 

      holder.textViewKey.setText(allData.get(position).get("key")); 

//expanding this view will collapse any other one open` 

      final boolean isExpanded = position==mExpandedPosition; 
      holder.itemView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        OldOpen = mExpandedPosition; 
        if (isExpanded == true) { 
         mExpandedPosition = -1; 
        } else { 
         mExpandedPosition = position; 
        } 
        TransitionManager.beginDelayedTransition(CompanyDetailsRecycler); 
        if (OldOpen != -1) 
         notifyItemChanged(OldOpen); 
        notifyItemChanged(position); 
       } 
      }); 
+0

Es funktioniert nicht –

+0

können Sie bitte Ihren onBindViewHolder posten? –