Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

pengjianbo/RecyclerviewAnimators

Repository files navigation

RecyclerviewAnimators

RecyclerView ItemAnimator动画集 本项目针对低版本Android API兼容(NineOldAndroids)

Demo

ItemAnimator

Adapters

ItemAnimator

Step 1

Set RecyclerView ItemAnimator.

 RecyclerView recyclerView = (RecyclerView) findViewById(R.id.list);
 recyclerView.setItemAnimator(new SlideInLeftAnimator());

Advanced Step 2

You can change the durations.

 recyclerView.getItemAnimator().setAddDuration(1000);
 recyclerView.getItemAnimator().setRemoveDuration(1000);
 recyclerView.getItemAnimator().setMoveDuration(1000);
 recyclerView.getItemAnimator().setChangeDuration(1000);

Advanced Step 3

By extending AnimateViewHolder, you can override preset animation. So, custom animation can be set depeding on view holder.

 static class MyViewHolder extends AnimateViewHolder {
 public MyViewHolder(View itemView) {
 super(itemView);
 }
 @Override
 public void animateRemoveImpl(ViewPropertyAnimatorListener listener) {
 ViewCompat.animate(itemView)
 .translationY(-itemView.getHeight() * 0.3f)
 .alpha(0)
 .setDuration(300)
 .setListener(listener)
 .start();
 }
 @Override
 public void preAnimateAddImpl() {
 ViewCompat.setTranslationY(itemView, -itemView.getHeight() * 0.3f);
 ViewCompat.setAlpha(itemView, 0);
 }
 @Override
 public void animateAddImpl(ViewPropertyAnimatorListener listener) {
 ViewCompat.animate(itemView)
 .translationY(0)
 .alpha(1)
 .setDuration(300)
 .setListener(listener)
 .start();
 }
 }

Animators

Cool

LandingAnimator

Scale

ScaleInAnimator, ScaleInTopAnimator, ScaleInBottomAnimator ScaleInLeftAnimator, ScaleInRightAnimator

Fade

FadeInAnimator, FadeInDownAnimator, FadeInUpAnimator FadeInLeftAnimator, FadeInRightAnimator

Flip

FlipInTopXAnimator, FlipInBottomXAnimator FlipInLeftYAnimator, FlipInRightYAnimator

Slide

SlideInLeftAnimator, SlideInRightAnimator, OvershootInLeftAnimator, OvershootInRightAnimator SlideInUpAnimator, SlideInDownAnimator

RecyclerView.Adapter

Step 1

Set RecyclerView ItemAnimator.

 RecyclerView recyclerView = (RecyclerView) findViewById(R.id.list);
 MyAdapter adapter = new MyAdapter();
 recyclerView.setAdapter(new AlphaInAnimationAdapter(adapter));

Advanced Step 2

Change the durations.

 MyAdapter adapter = new MyAdapter();
 AlphaInAnimationAdapter alphaAdapter = new AlphaInAnimationAdapter(adapter);
 alphaAdapter.setDuration(1000);
 recyclerView.setAdapter(alphaAdapter);

Advanced Step 3

Change the interpolator.

 MyAdapter adapter = new MyAdapter();
 AlphaInAnimationAdapter alphaAdapter = new AlphaInAnimationAdapter(adapter);
 alphaAdapter.setInterpolator(new OvershootInterpolator());
 recyclerView.setAdapter(alphaAdapter);

Advanced Step 4

Disable the first scroll mode.

 MyAdapter adapter = new MyAdapter();
 AlphaInAnimationAdapter alphaAdapter = new AlphaInAnimationAdapter(adapter);
 scaleAdapter.setFirstOnly(false);
 recyclerView.setAdapter(alphaAdapter);

Advanced Step 5

Multiple Animations

 MyAdapter adapter = new MyAdapter();
 AlphaInAnimationAdapter alphaAdapter = new AlphaInAnimationAdapter(adapter);
 recyclerView.setAdapter(new ScaleInAnimationAdapter(alphaAdapter));

Adapters

Alpha

AlphaInAnimationAdapter

Scale

ScaleInAnimationAdapter

Slide

SlideInBottomAnimationAdapter SlideInRightAnimationAdapter, SlideInLeftAnimationAdapter

About

RecyclerView ItemAnimator动画集

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /