首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android 實現 3D 旋轉圖片菜單:直接復用系統源碼中的 Rotation3dAnimation 類

     編輯:程式設計疑難解答

方案

Android SDK 源碼 samples/ApiDemos/src/com/example/android/apis/animation/Rotation3dAnimation.java 已實現完整 3D 翻轉動畫,直接複製到項目即可使用。

接入步驟

  1. 複製 Rotation3dAnimation.java 到項目包下。
  2. 佈局準備兩個視圖(正面/背面),如 FrameLayout 疊放。
  3. 觸發動畫:
    Rotation3dAnimation rotation = new Rotation3dAnimation(
        frontView, backView, 0, 90, centerX, centerY, 310.0f, true);
    rotation.setDuration(500);
    rotation.setFillAfter(true);
    rotation.setAnimationListener(new Animation.AnimationListener() {
        @Override public void onAnimationEnd(Animation animation) {
            frontView.setVisibility(View.GONE);
            backView.setVisibility(View.VISIBLE);
        }
        // ...
    });
    container.startAnimation(rotation);
    

核心參數

  • fromDegrees/toDegrees:0→90(正面翻到側面),90→180(側面翻到背面)。
  • centerX/Y:旋轉中心,通常為容器中心。
  • depthZ:Z 軸深度(如 310.0f),影響透視感。
  • reverse:true 表示翻轉方向。

優勢

  • 零 OpenGL 代碼,基于 Camera + Matrix3D 實現。
  • 系統級實現,兼容性極佳,性能優化到位。
  • 可擴展為卡片翻轉、立方體旋轉等 3D 效果。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved