【问题标题】:About the android scale animation xml关于android缩放动画xml
【发布时间】:2017-04-28 14:16:42
【问题描述】:

单击xml中的图像时,我将制作振动动画。 但是比例动画不像我预期的那样工作。 动画时尺寸太大。 这是我的ani_zooming.xml

android:interpolator="@android:anim/linear_interpolator" >

<scale
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="2.0"
    android:toYScale="2.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="300" />
<scale
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="2.0"
    android:fromYScale="2.0"
    android:toXScale="1.0"
    android:toYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="300"
    android:duration="300" />

<scale
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="1.6"
    android:toYScale="1.6"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="600"
    android:duration="300" />

<scale
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1.6"
    android:fromYScale="1.6"
    android:toXScale="1.0"
    android:toYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="900"
    android:duration="300" />

<scale
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="1.25"
    android:toYScale="1.25"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="1200"
    android:duration="300" />

<scale
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1.25"
    android:fromYScale="1.25"
    android:toXScale="1.0"
    android:toYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:startOffset="1500"
    android:duration="300" />

这是java中的代码: public void onImageClick(查看视图) { 动画 animFadeIn = AnimationUtils.loadAnimation(this, R.anim.ani_zooming); view.startAnimation(animFadeIn); }

【问题讨论】:

    标签: android xml animation scale


    【解决方案1】:

    您必须对比例值使用相对值,而不是绝对值。 请在您的 ani_zooming.xml 中使用以下代码。

    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="2.0"
        android:toYScale="2.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="300" />
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="0.5"
        android:toYScale="0.5"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="300"
        android:duration="300" />
    
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="1.6"
        android:toYScale="1.6"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="600"
        android:duration="300" />
    
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="0.625"
        android:toYScale="0.625"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="900"
        android:duration="300" />
    
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="1.25"
        android:toYScale="1.25"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="1200"
        android:duration="300" />
    
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="0.8"
        android:toYScale="0.8"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="1500"
        android:duration="300" />
    

    缩小时替换fromXScale、fromYScale、toXScale、toXScale的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-09
      • 2012-09-26
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多