android:animateLayoutChanges programmgesteuert festlegen

Lesezeit: 1 Minute

Ich erstelle linearLayouts programmgesteuert und möchte, dass sie ein- und ausgeblendet werden, wenn die Sichtbarkeit auf sichtbar / weg gesetzt ist.

Ich kann einstellen

android:animateLayoutChanges="true" 

in der XML-Datei, aber da ich die Ansichten programmgesteuert erstelle, muss ich sie programmgesteuert festlegen. Wie kann ich das machen?

Verwenden Sie diesen Code:

container.setLayoutTransition(new LayoutTransition());

oder

LayoutTransition lt = new LayoutTransition();
lt.disableTransitionType(LayoutTransition.DISAPPEARING);
container.setLayoutTransition(lt);

  • Vielen Dank für Ihren Kommentar, aber disableTransitionType ist leider nur ab API-Level 16 verfügbar, ich verwende jedoch API-Level 15.

    – deimos1988

    5. Juni 2014 um 10:34 Uhr

  • Es ist optional, Sie können es einfach verwenden container.setLayoutTransition(new LayoutTransition())

    – Benutzer3709904

    5. Juni 2014 um 12:45 Uhr

  • Okay, aber wenn ich den Fade-Out-Effekt deaktivieren wollte, gibt es eine Möglichkeit für API-Level 15?

    – deimos1988

    6. Juni 2014 um 7:50 Uhr

  • Warum den verschwindenden Übergang deaktivieren?

    – Ludwig CAD

    8. Januar 2016 um 15:05 Uhr

  • Um dies in einem API-Level unter 16 zu tun, deaktivieren Sie einfach Animatoren für diese Übergangstypen. Dies wird in der Dokumentation erwähnt: developer.android.com/intl/ru/reference/android/animation/… LayoutTransition lt = cardsGroup.getLayoutTransition(); // Erscheinende / verschwindende Layoutübergänge deaktivieren lt.setAnimator(LayoutTransition.APPEARING, null); lt.setAnimator (LayoutTransition.DISAPPEARING, null); lt.setAnimator(LayoutTransition.CHANGE_DISAPPEARING, null);

    – Himmel

    9. Februar 2016 um 14:29 Uhr


Um den Fade-Out-Effekt zu deaktivieren, versuchen Sie Folgendes:

LinearLayout layout = (LinearLayout) findViewById(R.id.test_layout);
layout.setLayoutTransition(null);

  • Dies gibt mir NullPointerException.

    – Srujan Barai

    22. Mai 2016 um 6:34 Uhr

  • @SrujanBarai Dann gibt es keine Ansicht mit der ID R.id. test_layout in deiner Anordnung.

    – Paul Woitaschek

    21. Oktober 2016 um 8:53 Uhr

1312580cookie-checkandroid:animateLayoutChanges programmgesteuert festlegen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy