Versuchen Sie, die TranslateAnimation- Klasse zu verwenden, die die Animation für Positionsänderungen erstellt. Lesen Sie dies, um Hilfe zu erhalten - http://developer.android.com/reference/android/view/animation/TranslateAnimation.html
Update: Hier ist das Beispiel dafür. Wenn Sie eine Ansichtshöhe von 50 haben und im Ausblendmodus nur 10 Pixel anzeigen möchten. Der Beispielcode wäre -
TranslateAnimation anim=new TranslateAnimation(0,0,-40,0);
anim.setFillAfter(true);
view.setAnimation(anim);
PS: Es gibt viele oder andere Methoden, mit denen Sie die Animation entsprechend Ihren Anforderungen verwenden können. Schauen Sie sich auch RelativeLayout.LayoutParams an, wenn Sie den Code vollständig anpassen möchten. Die Verwendung von TranslateAnimation ist jedoch einfacher.
BEARBEITEN: -Komplexe Version mit LayoutParams
RelativeLayout relParam=new RelativeLayout.LayoutParam(RelativeLayout.LayoutParam.FILL_PARENT,RelativeLayout.LayoutParam.WRAP_CONTENT); //you can give hard coded width and height here in (width,height) format.
relParam.topMargin=-50; //any number that work.Set it to 0, when you want to show it.
view.setLayoutParams(relparam);
In diesem Beispielcode wird davon ausgegangen, dass Sie Ihre Ansicht in RelativeLayout einfügen. Wenn Sie den Namen des Layouts nicht ändern, funktioniert ein anderes Layout möglicherweise nicht. Wenn Sie ihnen einen Animationseffekt verleihen möchten, verringern oder erhöhen Sie die topMargin langsam. Sie können dort auch Thread.sleep () verwenden.
Versuche dies.
quelle
Ermitteln Sie zunächst die Höhe der Ansicht, die Sie sägen möchten, und erstellen Sie einen Booleschen Wert zum Speichern, wenn die Ansicht angezeigt wird:
Rufen Sie dann die Methode zum Anzeigen des Ausblendens der Ansicht auf und ändern Sie den Wert des Booleschen Werts:
Die Methode:
quelle
ViewAnimator:
In XML:
Funktionen:
quelle