2017-03-01 2 views
1

Ich möchte erreichen eine animierte Scrollen Menüoptionen in ANDROID wie die folgenden Funktionen in iOSWie Menü Animation in Android

https://www.youtube.com/watch?v=1NkuChdWA_I

ich versuche zu tun haben, es durch onScrollUp und onScrollDown Listview, aber nicht in der Lage zu erreichen, um das Wunschergebnis zu finden.

private class ParallaxStikkyAnimator extends HeaderStikkyAnimator { 
@Override 
public AnimatorBuilder getAnimatorBuilder() { 
    mHeader_image = getHeader().findViewById(R.id.ll_boxeshorizntal); 
    return AnimatorBuilder.create().applyVerticalParallax(mHeader_image); 
} 
@Override 
public void onScroll(final int scrolledY) { 
    super.onScroll(scrolledY); 
    listview.setOnDetectScrollListener(new OnDetectScrollListener() { 
     @Override 
     public void onUpScrolling() { 
      // ll_boxes.setAlpha(1.0f); 
      Log.e("onUpScrolling", "Up scrolledY==" + scrolledY); 
      // slideToTop(mHeader_image, scrolledY); 
      if (scrolledY == 0) { 

      /* ll_four_boxes.setVisibility(View.VISIBLE); 
       ll_boxeshorizntal.setVisibility(View.GONE);*/ 
      } 
     } 

     @Override 
     public void onDownScrolling() { 
      Log.e("onDownScrolling", "scrolledY==" + scrolledY); 
       // slideToBottom(mHeader_image, scrolledY); 
      // slideToBottom(mHeader_image, scrolledY); 
      DownScrolling(scrolledY); 
      if (scrolledY < 300) { 

       /* ll_four_boxes.setVisibility(View.GONE); 
       ll_boxeshorizntal.setVisibility(View.VISIBLE);*/ 
      } 
     } 
    }); 
} 

}

kann ich die zwei Ansicht verwenden Gone und sichtbar für die Spirale gemäß aber wie Animation wie iOS zu erreichen.

Grundsätzlich muss ich eine GridView mit zwei Zeilen und zwei Spalten zu einer Zeile und vier Spalten mit Animation konvertieren.

+0

Wo hast du angefangen? Wo ist Ihr Code, der versucht, das erwartete Verhalten zu erreichen und nicht funktioniert? –

+1

Ich habe die Frage bearbeitet –

+0

Sie können eine Sicht sichtbar oder ausblenden auf der Grundlage des Wertes von scrolledY. Wenn es mehr als einen Wert sagt, dann blende eine Ansicht aus und zeige die andere an. – gRaWEty

Antwort

0

Sie können überprüfen, wie viel Bildlauf ausgeführt wird, indem Sie scrollView.getScrollY() verwenden. Und auf der Basis des Werts machen Sie die Schaltflächen sichtbar oder verstecken oder ändern Sie ihre Breite entsprechend, so dass Sie vier Schaltflächen in einer einzelnen Zeile anpassen können und wenn es oben ist, dann zeigen Sie 2 Schaltflächen pro Zeile an.