Gmailアプリ(ICS)がメッセージの削除で提供する何かを達成しようとしています。削除されたセルの下のすべての行を上に移動して、削除されたセルをカバーすることはしません。
これが動作するアニメーションです:
<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>
私がこれまでに思いついたのはこれだけです:
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;
}
選択したセルの下にある目に見えるセルを収集し、それらをforeachでアニメーション化します。これはパフォーマンスの障害になるのではないかと思います。また、コンテンツをリロードする必要があることをアダプタに通知するのに問題があります。通常は呼びかけますnotifyDataSetChanged
がonAnimationEnd
、今ではいくつかのアニメーションが次々と再生されています。
何か提案仲間はいますか?たぶん、いくつかのビューを刺激的にアニメーション化できるものがありますか?