【问题标题】:View animation scale values relative to original查看相对于原始的动画比例值
【发布时间】:2017-06-01 18:20:08
【问题描述】:

我想在 TextView 上制作一个基本动画,当用户点击它时它会缩小,然后缩小到原始大小以提供视觉反馈。阅读文档,似乎有多种方法可以在 Android 上为属性设置动画,但我决定使用视图动画,在以下 XML 中定义:

<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="true" android:interpolator="@android:anim/accelerate_interpolator">

<scale
    android:fromXScale="1.0"
    android:toXScale="0.5"
    android:fromYScale="1.0"
    android:toYScale="0.5"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="100"/>

<scale
    android:startOffset="100"
    android:fromXScale="1.0"
    android:toXScale="2.0"
    android:fromYScale="1.0"
    android:toYScale="2.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="50"/>

这工作得很好,但让我感到奇怪的是,我必须计算我需要缩放第二个标签的程度,而不是只能使用相对于原始标签的值。有没有办法在第二个标签中使用相对于原始元素的值(即,使用 fromXscale="0.5" 和 toXscale="1.0")?

【问题讨论】:

    标签: android android-animation


    【解决方案1】:

    如果我没听错你的问题,试试这个

    tv.animate().scaleXBy(2.0f).scaleYBy(2.0f).setDuration(100).setInterpolator(new LinearInterpolator()).start();
    

    您可以添加反向重复策略或仅添加缩减动画。

    【讨论】:

    • 谢谢,我什至没有考虑使用反向重复来避免不得不做第二个动画。效果很好。
    猜你喜欢
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 2011-06-28
    相关资源
    最近更新 更多