gpt4 book ai didi

android - 在已缩放的 View 上缩放动画

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:05:26 26 4
gpt4 key购买 nike

我正在使用以下比例动画为 ImageView 制作动画:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="2.0"
android:fromYScale="1.0"
android:toYScale="2.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000" />

<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="2.0"
android:toXScale="0.0"
android:fromYScale="2.0"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1000"
android:duration="1000" />

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:toDegrees="360" android:pivotX="50%" android:pivotY="50%"
android:repeatCount="3"
android:duration="800" android:startOffset="0" />
</set>

但问题在于,当第一个动画开始时,ImageView 已按布局缩放。当第一个动画将比例设置为 1.0 时,这会导致尺寸明显跳跃。

有什么方法可以告诉动画应该从布局中 View 的实际大小开始?我还尝试使用百分比,产生了相同的效果。

最佳答案

根据我从您的查询中了解到的情况,您想让动画更流畅,方法是避免在开始时出现明显明显的比例动画。我认为在第一个比例中最小化“from scale”会帮助你避免跳跃,也许像这样的事情会有所帮助:

<?xml version="1.0" encoding="utf-8"?>

<scale
android:duration="1000"
android:fromXScale="0.5"
android:fromYScale="0.5"
android:interpolator="@android:anim/accelerate_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0" />
<scale
android:duration="1000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1000"
android:toXScale="1.0"
android:toYScale="1.0" />

<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="800"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="3"
android:startOffset="0"
android:toDegrees="360" />

抱歉让您久等了;尝试这样的事情:

<?xml version="1.0" encoding="utf-8"?>

<scale
android:duration="400"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="20%"
android:pivotY="20%"
android:repeatCount="1"
android:repeatMode="reverse"
android:toXScale="1.1"
android:toYScale="1.1" />

关于android - 在已缩放的 View 上缩放动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18485829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com