2016-08-30 8 views
0

Ich habe eine Scrollview in meiner Inhaltsseite mit meiner benutzerdefinierten Ansicht und Gridview, wie unten gezeigt.Xamarin-Formulare - Animieren einer Ansichtsüberblendung in scrollview

Dynamisch verberge ich und zeige meine benutzerdefinierte Inhaltsansicht mithilfe der IsVisibile-Eigenschaft an. Wenn meine benutzerdefinierte Ansicht ausgeblendet ist, passt die Rasteransicht die Position automatisch ohne Animation an. Gibt es eine Möglichkeit, den Übergang zu animieren?

Antwort

0

Überschreiben Sie die setVisibility()-Funktion Ihrer benutzerdefinierten Ansicht, um die Animation auszuführen, bevor sie "tatsächlich" ausgeblendet wird.


So etwas wie unten:
(! Dieser Code ist nur ein Beispiel, es wird nur mit View.GONE von selbst funktioniert)

// assume your view will be shredded by Y-axis 

@Override 
public void setVisibility(final int visibility) { 
    if(isAnimating) 
    { 
     return; 
    } 

    isAnimating = true; 

    animate().scaleY(0).setDuration(700).setInterpolator(AnimationUtil.DECEL) 
      .withEndAction(new Runnable() { 
       @Override 
       public void run() { 
        isAnimating = false; 
        setActualVisibility(visibility); 
       } 
      }); 
} 
private void setActualVisibility(int visibility) 
{ 
    super.setVisibility(visibility); 
} 
Verwandte Themen