我使用 DrawerLayout 创建了一个抽屉,其中包含一个带有项目的 RecyclerView。我还在 RecyclerView 上附加了一个 layoutAnimation,以便在打开抽屉时让项目从侧面进入。这第一次很有效,但第二次打开抽屉时,一切都已经到位。我希望每次打开抽屉时都运行 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"
/>