我使用矩阵来翻译/缩放ImageView,在setImageMatrix之后,结果直接显示,无论如何都要使它动画化?
谢谢!
答案 0 :(得分:1)
缩放将是翻译和缩放的组合:
// zooms in to the center of the screen
mZoomIn = new AnimationSet(true);
mTranslate = new TranslateAnimation(
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -imageViewXCoord/(mScreenWidth/mImageViewWidth),
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -imageViewYCoord/(mScreenWidth/mImageViewWidth)
);
mTranslate.setDuration(200);
mScale = new ScaleAnimation(1, mScreenWidth/mImageViewWidth, 1, mScreenWidth/mImageViewWidth);
mScale.setDuration(200);
mZoomIn.addAnimation(mTranslate);
mZoomIn.addAnimation(mScale);
mZoomIn.setFillAfter(true);
mZoomIn.setFillEnabled(true);
mImageView.startAnimation(mZoomIn);
缩小将涉及放大时的反向插补器,之后您可以按照正常情况在图像视图上调用startAnimation:
mZoomIn.setInterpolator(new ReverseInterpolator())
答案 1 :(得分:0)
您可以尝试使用Honeycomb中引入的新动画框架,但我不知道这是否可以直接与图像矩阵一起使用。您可以将矩阵应用的变换转换为基本动画变换,例如缩放,平移,旋转,alpha。
如果你的目标是Android 2.x设备,你可以使用Jake Wharton的NineOldAndroids [1],它是Honeycomb新动画框架的后端。它非常易于使用,因为它模仿了您在11个以上设备上使用的相同API。