Android 實現(xiàn)酷炫的卡片交換效果

效果圖

效果實現(xiàn)

Paste_Image.png

圖中所示,當(dāng)page1向左滑動的時候page1 y軸瞬時針進(jìn)行旋轉(zhuǎn) x軸進(jìn)行旋轉(zhuǎn),page2 則相反,(x y軸角度旋轉(zhuǎn)差 可以實現(xiàn)z軸旋轉(zhuǎn)的效果).

code

    viewPager.setPageTransformer(true, new ViewPager.PageTransformer() {
      @Override public void transformPage(View view, float position) {
        float mRot = (15.0f * position);
        if (position < -1) {
          ViewCompat.setRotationX(view, 0);
          ViewCompat.setRotationY(view, 0);
          ViewCompat.setRotation(view, 0);
        } else if (position >= 1) {
          ViewCompat.setRotationX(view, 0);
          ViewCompat.setRotationY(view, 0);
          ViewCompat.setRotation(view, 0);
        } else if (position > 0) {//->[0,1] 向左滑動時候page2 postion的偏移值 從0到1變化過程 
          ViewCompat.setPivotX(view, view.getMeasuredWidth() / 3);
          ViewCompat.setPivotY(view, view.getMeasuredHeight());
          ViewCompat.setRotationY(view, -mRot / 2);
          ViewCompat.setRotationX(view, mRot / 3);
        } else if (position < 0) {//[<- [0,-1]]向左滑動時候page1 postion的偏移值 從0到0-1變化過程
          ViewCompat.setPivotX(view, view.getMeasuredWidth() / 3);
          ViewCompat.setPivotY(view, view.getMeasuredHeight());
          ViewCompat.setRotationY(view, -mRot / 2);
          ViewCompat.setRotationX(view, -mRot / 3);
        }
      }
    });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容