使用 xml 在 Android 中通过图像中心进行动画放大

发布于 2024-12-05 06:12:40 字数 612 浏览 1 评论 0原文

我正在尝试使用 Android 进行一些简单的图像缩放和平移,我有两个简单的问题。

首先,当我使用 scale 调用动画时,它使用图像的左上角作为原点进行缩放,但我希望它从图像的中心进行缩放。
第二个问题是动画完成后,它将图像重置为原始状态,我希望它保持最终状态。

这是我的比例尺的 xml:

<scale android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="2.0"
    android:toYScale="2.0"
    android:detachWallpaper="true"
    android:duration="3000"></scale>

在我的代码中:

a = AnimationUtils.loadAnimation(this, R.anim.set);
a.reset();
ImageView iv = (ImageView) findViewById(R.id.imageView1);
iv.clearAnimation();
iv.startAnimation(a);

I am trying to do some simple image zooming and panning with Android and I have two simple questions.

First, when I call the animation using scale, it zooms using the upper left-hand corner of the image as the origin but I would like it to zoom from the center of the image.
The second question is once the animation is done, it resets the image to the original state and I would like it to stay at the final state.

Here is the xml I have for the scale:

<scale android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="2.0"
    android:toYScale="2.0"
    android:detachWallpaper="true"
    android:duration="3000"></scale>

and in my code:

a = AnimationUtils.loadAnimation(this, R.anim.set);
a.reset();
ImageView iv = (ImageView) findViewById(R.id.imageView1);
iv.clearAnimation();
iv.startAnimation(a);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

非要怀念 2024-12-12 06:12:40

要从中心缩放图像,您必须设置pivotX和pivotY

尝试此代码从中心缩放并保留缩放后的状态,

<scale  xmlns:android="http://schemas.android.com/apk/res/android"
  android:fromXScale="1" 
  android:toXScale="5" 
  android:fromYScale="1" 
  android:toYScale="5" 
  android:pivotX="50%" 
  android:pivotY="50%" 
  android:duration="1000" 
  android:fillAfter="true">
</scale>

谢谢...

For scaling a image from center you have to set the pivotX and pivotY

try this code for scaling from center and retaining the state after scaling,

<scale  xmlns:android="http://schemas.android.com/apk/res/android"
  android:fromXScale="1" 
  android:toXScale="5" 
  android:fromYScale="1" 
  android:toYScale="5" 
  android:pivotX="50%" 
  android:pivotY="50%" 
  android:duration="1000" 
  android:fillAfter="true">
</scale>

Thanks...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文