android - 抽屉导航动画android

标签 android android-animation navigation-drawer

我是安卓新手。我有一个关于 Android 抽屉导航的问题。我在我的应用程序中包含了抽屉导航,一切正常,但我想知道是否有人可以帮助我在抽屉导航列表中获得惰性动画。

navigation drawer with animation

Source of the image .

谢谢。

最佳答案

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

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

How to animate RecyclerView items when they appear (改编)

@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);

}

动画太多的 View 会变得非常不稳定。增加间隔延迟会留下更多的屏幕外,而较早的是动画。您可能会尝试找到一些动画(除了默认的 android 动画),让它们更多地离开屏幕(例如暂停、然后移动或加速动画),这样您就可以更好地控制同时在屏幕上动画的 View 数量。

关于android - 抽屉导航动画android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29191837/

相关文章:

java - AnimationDrawable 无法清除帧

java - 动画 hasStarted() 或 hasEnded() 不起作用

android - 抽屉导航主页图标未恢复为汉堡包图标

Android,滑动面板布局与抽屉导航

java - 如何从抽屉导航中重新加载/刷新 fragment

android - android.permission.PACKAGE_USAGE_STATS 是否仅适用于系统应用程序?

java - Android 2.3 设备的 EditText TextWatcher java.lang.NullPointerException

java - 如何重构程序启动代码?

android - 如何在android中动态访问 "strings.xml"中的值?

android - 获取 NullPointerException : Attempt to read from field 'int android.view.View.mViewFlags' - Android animation