导航抽屉动画android

tin*_*n21 7 android android-animation navigation-drawer

我是android的新手.我有关于Android导航抽屉的问题.我在我的应用程序中包含导航抽屉一切顺利,但我想知道是否有人可以帮助我在导航抽屉列表上得到懒惰的动画.

带动画的导航抽屉

图像来源.

谢谢.

Nam*_*ace 3

也许有更好的方法,但我偶然发现了这一点。可以通过RecyclerView实现延迟滑入的效果,并在onBindViewHolder方法中设置动画。

下面的代码改编自“如何在 RecyclerView 项目出现时设置动画”。我对其进行了调整,以根据位置错开动画。您还需要逻辑来在调用初始可见视图的所有位置后停止调用 setAnimation 方法,除非您希望它们在用户滚动时从左侧滑入。

如何在 RecyclerView 项目出现时为其设置动画 (已改编)

@Override
public void onBindViewHolder(ViewHolder holder, int position)
{
    holder.text.setText(items.get(position));

    // Here you apply the animation when the view is bound
    setAnimation(holder.container, position);
}

/**
 * Here is the key method to apply the animation
 */

private void setAnimation(View viewToAnimate, int position)
{
        Context context = MyApp.getActivity();
        Animation animation = AnimationUtils.loadAnimation(context, android.R.anim.slide_in_left);

        animation.setDuration(position * 50 + 200);
        viewToAnimate.startAnimation(animation);

}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,对太多视图进行动画处理可能会变得非常不稳定。增加间隔延迟会导致更多的内容离开屏幕,而较早的内容则处于动画状态。您可以尝试找到一些动画(除了默认的 Android 动画),使它们更多地离开屏幕(例如暂停、然后移动或加速动画),这样您就可以更好地控制屏幕上同时播放动画的视图数量。