我正在使用android Property Animation为我的Android应用创建动画。
我在res/animator/ directory
。
<?xml version="1.0" encoding="utf-8"?>
<set android:ordering="sequentially" xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:propertyName="x"
android:duration="500"
android:valueFrom="0"
android:valueTo="400"
android:valueType="intType"/>
</set>
我使用AnimatorInflater
将代码中的XML资源扩展为AnimatorSet对象。
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(PropertyAnimationActivity.this,
R.animator.animation_load_from_xml_example);
set.setTarget(animatorSetView);
set.start();
我收到错误
PropertyValuesHolder:在目标上找不到类型为int的方法setX() class class android.view.View
知道如何解决错误。
答案 0 :(得分:2)
您应该将valueType更改为android:valueType="floatType"
,因为setX()采用浮点值(ref)。
答案 1 :(得分:1)
它应该是android:propertyName="translationX"
属性,因为你同时使用valueFrom和valueTo,这意味着将视图从x1移动到x2。如果你想使用属性x那么你应该只使用valueTo属性。