0

アイテムを含む RecyclerView を含む DrawerLayout を使用してドロワーを作成しました。RecyclerView に layoutAnimation をアタッチして、ドロワーを開いたときにアイテムが横から入ってくるようにしました。これは最初はうまく機能しますが、2回目に引き出しを開くと、すべてがすでに整っています. 引き出しが開かれるたびにlayoutAnimationを実行したいと思います。

これまでに試したことは、カスタム ActionBarDrawerToggle (とにかくそれが必要です) を用意し、次を追加することです。

@Override
public void onDrawerOpened(final View drawerView) {
    super.onDrawerOpened(drawerView);
    final RecyclerView recyclerView =
            (RecyclerView) drawerView.findViewById(R.id.drawer_content);
    if (recyclerView != null) {
        recyclerView.startLayoutAnimation();
    }
}

アニメーションを再実行するため、ある程度機能しますが、引き出しを開くとすべてのアイテムがそこにあり、それらが消えてアニメーションが開始されます。

ドロワーが閉じられるたびにドロワーアイテムビューを「リセット」する方法は誰にもありますか?

これらが必要かどうかはわかりませんが、とにかく含めます

<--! layout_animation.xml -->
<layoutAnimation
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:animation="@anim/slide_from_right"
    android:delay="15%"
    android:animationOrder="normal"
    />

<--! slide_from_right.xml -->
<translate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="100%p"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:toXDelta="0"
    />
4

2 に答える 2