X 軸を中心にビューを 90 度回転させています。(つまり、ビューが画面からユーザーに向かって前方に落ちているように見えます)。
私は 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
しかし、それは何の効果もないようです。
アニメーション中にビューのサイズを縮小するにはどうすればよいですか?