2017-12-11 7 views
0

私が望むのはcardviewelevationアニメーション「PlayGames」アニメーションと同様です。ここにはアニメーションのサンプルgifがあります。それを行う方法やライブラリを参照する方法を教えてもらえますか?リサイクルビューのカードビューシャドーエレベーションアニメーション

sample gif animation

おかげ

+0

このライブラリは、https://github.com/wasabeef/recyclerview-animators –

答えて

0

どのようにそれを行うには? 内部その実装ViewPager.OnPageChangeListener 後にこの

CardView cardView = (CardView) view.findViewById(R.id.cardView); 

     if (mBaseElevation == 0) { 
      mBaseElevation = cardView.getCardElevation(); 
     } 

     cardView.setMaxCardElevation(mBaseElevation * MAX_ELEVATION_FACTOR); 
     mViews.set(position, cardView); 
     return view; 

ようなカードのinstantiateItemメソッドセット上昇にアダプタの内側cardviewためPagerAdapter

2-作成

1-変換Viewpagerとシャドウを使用the onPageScrolled

 if (currentCard != null) { 
      if (mScalingEnabled) { 
       currentCard.setScaleX((float) (1 + 0.1 * (1 - realOffset))); 
       currentCard.setScaleY((float) (1 + 0.1 * (1 - realOffset))); 
      } 
      currentCard.setCardElevation((baseElevation + baseElevation 
        * (CardAdapter.MAX_ELEVATION_FACTOR - 1) * (1 - realOffset))); 
     } 

     CardView nextCard = mAdapter.getCardViewAt(nextPosition); 

     // We might be scrolling fast enough so that the next (or previous) card 
     // was already destroyed or a fragment might not have been created yet 
     if (nextCard != null) { 
      if (mScalingEnabled) { 
       nextCard.setScaleX((float) (1 + 0.1 * (realOffset))); 
       nextCard.setScaleY((float) (1 + 0.1 * (realOffset))); 
      } 
      nextCard.setCardElevation((baseElevation + baseElevation 
        * (CardAdapter.MAX_ELEVATION_FACTOR - 1) * (realOffset))); 
     } 
0123その項目は、中央の項目がある場合は、 RecyclerView
を使用すると、あなたが真ん中のアイテムを取得し、 onBindViewHolderを確認することができることをやりたい場合は

完全なコードViewPagerCards

は、真ん中には、この答えをチェック取得するために知っておくスケールアニメーション の操作を行います。 Get center visible item of RecycleView when scrolling

+0

に役立つかもしれませんが、このソリューションはうまく動作しますが、ビューページで一度に1つの位置しかスクロールできません。私はflingを扱うことができないので、私はrecyclerviewでそれをやりたかったのです –

+0

@ HiteshBisht RececlerViewで動作するように答えを更新しました。 – tamtom

+0

私は既にアンドロイドのSnapHelperクラスを使ってこれを行っていますが、サンプルGIFに表示されているように、ユーザーがスクロールしている間にスケーリングと標高が機能するようにしたいと思います。ありがとうございます –

関連する問題