0

X 軸を中心にビューを 90 度回転させています。(つまり、ビューが画面からユーザーに向かって前方に落ちているように見えます)。

  1. 私は Animation を拡張し、applyTransformation() 内で拡張します。

    protected void applyTransformation(float interpolatedTime, Transformation t) {
    final float fromDegrees = mFromDegrees;
    float degrees = fromDegrees + ((mToDegrees - fromDegrees) * interpolatedTime);
    
    final float centerX = mCenterX;
    final float centerY = mCenterY;
    final Camera camera = mCamera;
    
    final Matrix matrix = t.getMatrix();
    
    camera.save();
    camera.rotateX(degrees);
    camera.getMatrix(matrix);
    camera.restore();
    
    matrix.preTranslate(-centerX, -centerY);
    
    matrix.setScale(0.75f, 0.75f);  // doesn't do anything
    
    matrix.postTranslate(centerX, centerY);
    

    }

これで問題なく動作し、必要なアニメーションが得られます。

また、アニメーション時にビューのサイズを少し小さくしたいと考えています。

これでうまくいくと思いました(上記のコードに示されている場所で)。

        matrix.setScale(0.75f, 0.75f);  // doesn't do anything

しかし、それは何の効果もないようです。

アニメーション中にビューのサイズを縮小するにはどうすればよいですか?

4

1 に答える 1

0

matrix.preScale(x,x,x,x); を使用してみてください。

于 2013-01-17T06:26:51.887 に答える