jwi*_*ir3 5 xml animation android
我在 res/animator/grow.xml 中有以下动画定义:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:ordering="sequentially">
<set>
<objectAnimator
android:propertyName="scaleX"
android:duration="150"
android:valueFrom="1.0"
android:valueTo="1.5"
android:valueType="floatType" />
<objectAnimator
android:propertyName="scaleY"
android:duration="150"
android:valueFrom="1.0"
android:valueTo="1.5"
android:valueType="floatType" />
</set>
</set>
Run Code Online (Sandbox Code Playgroud)
我想要的是pivotX和pivotY位于对象的中心,而不是左上角。我知道我可以通过代码来完成此任务,但我宁愿不这样做。相反,我想在 XML 文件中指定它。我想过这样做:
<objectAnimator
android:propertyName="pivotX"
android:valueTo="50%" />
<objectAnimator
android:propertyName="pivotY"
android:valueTo="50%" />
Run Code Online (Sandbox Code Playgroud)
但是,这似乎也会尝试为该属性设置动画,这不是我想要的。相反,我希望它设置枢轴,然后执行动画。我可以在 XML 中执行此操作吗?如果可以,如何执行?
没有答案的老问题,我在其他地方找不到答案,所以我将在这里发布我的解决方案:
逻辑:
duration=0durations到所有其他动画startOffset最后动画通过使用和重置枢轴duration=0最好不要使用持续时间,也不要重置枢轴...在这种情况下,枢轴将保持原样,这在大多数情况下是无关紧要的。
代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<set>
<objectAnimator
android:duration="0"
android:propertyName="pivotX"
android:valueTo="0" />
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="scaleX"
android:valueTo="0.85" />
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="scaleY"
android:valueTo="0.85" />
</set>
</item>
<item android:state_pressed="false">
<set>
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="scaleX"
android:valueTo="1.0" />
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="scaleY"
android:valueTo="1.0" />
<objectAnimator
android:duration="0"
android:propertyName="pivotX"
android:startOffset="@android:integer/config_shortAnimTime"
android:valueTo="0" />
</set>
</item>
</selector>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6075 次 |
| 最近记录: |