导航抽屉动画 android
navigation drawer Animation android
我是 android 的新手。我有一个关于 Android 导航抽屉的问题。我在我的应用程序中加入了导航抽屉,一切正常,但我想知道是否有人可以帮助我在导航抽屉列表中获得惰性动画。
谢谢。
也许有更好的方法,但我偶然发现了这个。可以通过RecyclerView实现延迟滑入效果,在onBindViewHolder方法中设置动画
下面的代码改编自 "how to set animation on RecyclerView items when they appear." 我将其改编为根据位置错开动画。您还需要在调用初始可见视图的所有位置后停止调用 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);
}
顺便说一句,为太多视图设置动画可能会变得非常不稳定。增加间隔延迟会留下更多的屏幕外,而较早的是动画。您可能会尝试找到一些动画(除了默认的 android 动画),这些动画会让它们更多地离开屏幕(例如暂停、然后移动或加速动画),这样您就可以更好地控制同时在多少个视图上进行动画处理屏幕。
我是 android 的新手。我有一个关于 Android 导航抽屉的问题。我在我的应用程序中加入了导航抽屉,一切正常,但我想知道是否有人可以帮助我在导航抽屉列表中获得惰性动画。
谢谢。
也许有更好的方法,但我偶然发现了这个。可以通过RecyclerView实现延迟滑入效果,在onBindViewHolder方法中设置动画
下面的代码改编自 "how to set animation on RecyclerView items when they appear." 我将其改编为根据位置错开动画。您还需要在调用初始可见视图的所有位置后停止调用 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);
}
顺便说一句,为太多视图设置动画可能会变得非常不稳定。增加间隔延迟会留下更多的屏幕外,而较早的是动画。您可能会尝试找到一些动画(除了默认的 android 动画),这些动画会让它们更多地离开屏幕(例如暂停、然后移动或加速动画),这样您就可以更好地控制同时在多少个视图上进行动画处理屏幕。