Gmail-wie listview-Element entfernen

Ich versuche, etwas zu erreichen, mit der Gmail-app (ICS) bietet auf Nachricht löschen. Ich wan ' T alle Zeilen unterhalb der gelöschten Zelle nach oben verschieben und decken Sie gelöschte Zelle.

Hier arbeitet animation:

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false" >

        <translate android:fromYDelta="0%" android:toYDelta="-100%"
            android:duration="@android:integer/config_mediumAnimTime"/>
        <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
            android:duration="@android:integer/config_mediumAnimTime" />

</set>

Alles kam mir so weit ist:

public static List<View> getCellsBelow(ListView listView, int position) {
    List<View> cells = new ArrayList<View>();       

    for (int i = position + 1; i <= listView.getLastVisiblePosition(); i++) {
        cells.add(listView.getChildAt(i));
    }

    return cells;
}

Entnehme ich, sichtbaren Zellen unter dem ausgewählten Zelle und dann animieren in foreach. Ich fürchte, das ist eine performance-Katastrophe. Ich habe auch Probleme haben, Benachrichtigen adapter, es sollte neu laden, es ist Inhalt. normalerweise würde ich nennen notifyDataSetChanged auf onAnimationEnd aber jetzt gibt es einige Animationen spielen eine nach der anderen.

Anregungen pals? Vielleicht gibt es etwas, das animiert einige Ansichten stimulatenously?

  • Ein einfachste Weg wäre, um die Höhe zu verringern, der auf die gelöschte Zeile.
  • gonna Schießen mir in die Eier für nicht darüber nachzudenken, dass...
Schreibe einen Kommentar