Android: Zeige / Verstecke eine Ansicht mit einer Animation
Habe ich durch viele google-Ergebnisse /Fragen auf hier zu bestimmen, wie ein - /ausblenden Ansicht über eine vertikale animation, aber ich kann nicht scheinen, einen zu finden, der genau das richtige oder nicht zu vage.
Habe ich ein layout (rückgängig bar), unten ein anderes layout, und über mehrere andere widgets; diese rückgängig bar sollte vertikal Folie öffnen und Folie geschlossen, je nach den Umständen.
Derzeit alles, was ich tun jetzt ist die Ansicht auf sichtbar oder verschwunden.
Bitte helfen.
InformationsquelleAutor der Frage Blaskovicz | 2012-02-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Setzen Sie das Attribut
android:animateLayoutChanges="true"
innerhalb der Eltern-layout .
Setzen Sie die Ansicht in einem layout, wenn das nicht und setzen
android:animateLayoutChanges="true"
für das layout.HINWEIS: Dies funktioniert erst ab API Level 11+ (Android 3.0)
InformationsquelleAutor der Antwort pozuelog
Erstellte ich eine Erweiterung für
RelativeLayout
zeigt/verbirgt Layouts mit Animationen.Verlängern Sie jede Art von
View
zu gewinnen, diese Funktionen.Können Sie das überschreiben der original -
Animation
s mitoverrideDefaultInAnimation
undoverrideDefaultOutAnimation
Meine original-Animationen wurden fadeIn/- Out, ich bin das hinzufügen von XML-animation-Dateien für die Übersetzung in die/aus der der Bildschirm (Verschieben nach oben und von oben)
in_animation.xml:
out_animation.xml:
InformationsquelleAutor der Antwort Rotemmiz
Kann dies vernünftigerweise erreicht werden, in einer einzigen Zeile, die Anweisung in der API 12 und oben. Unten ist ein Beispiel, wo
v
ist die Ansicht, die Sie wollen, zu animieren;Dieser Folie die
View
in Frage, dann an der linken Seite von 1000px. Schieben Sie den Blick zurück auf das UI-wir können einfach das tun die folgende.Ich hoffe, jemand findet das nützlich.
InformationsquelleAutor der Antwort Rudi Kershaw
Wenn Sie nur wollen, zu animieren, die Höhe einer Ansicht (von sagen wir 0 auf eine bestimmte Zahl), Sie könnten setzen Sie Ihre eigene animation:
InformationsquelleAutor der Antwort Andreas Berheim Brudin
Benutzt habe ich diese beiden Funktion zum ausblenden und anzeigen mit übergang animation reibungslos.
InformationsquelleAutor der Antwort Jitendra ramoliya
Vielleicht, was du suchst, ist ein SlidingDrawer.
InformationsquelleAutor der Antwort andrrs
Versuchen, TranslateAnimation - Klasse, die erstellt die animation für die position ändert. Versuchen Sie das Lesen dieser Hilfe - http://developer.android.com/reference/android/view/animation/TranslateAnimation.html
Update: Hier ist das Beispiel für diesen. Wenn Sie die Höhe Ihrer Sicht als 50 und im hide-Modus, den Sie anzeigen möchten nur 10 px. Der Beispielcode wäre -
PS: Es gibt viel oder auch andere Methoden gibt, um Ihnen zu helfen verwenden Sie die animation nach Ihrem Bedarf. Auch haben Sie einen Blick auf das RelativeLayout.LayoutParams wenn Sie möchten, um vollständig anpassen, der code jedoch mit dem TranslateAnimation ist einfacher zu verwenden.
EDIT:-Komplexe version mit LayoutParams
Diesem Beispiel-code setzt Voraus, Sie setzen sich mit Ihrer Ansicht in RelativeLayout, wenn nicht ändern Sie den Namen des Layouts, aber auch andere layout könnte nicht funktionieren. Wenn Sie möchten, geben Sie eine animation Effekt auf Sie haben, verringern oder erhöhen Sie die topMargin langsam. Sie können prüfen, mit Gewinde.sleep() gibt es auch.
InformationsquelleAutor der Antwort noob
Versuchen.
InformationsquelleAutor der Antwort SaurabhG
Zunächst die Höhe der Ansicht yo wollen, zu Sägen und machen Sie einen boolean speichern, wenn die view zeigen:
Rufen Sie dann die Methode für das zeigen, verbergen die Sicht, und ändern Sie den Wert von der boolean:
Methode:
InformationsquelleAutor der Antwort Jachumbelechao Unto Mantekilla