在目标上找不到类型为 int 的方法 setX() class class android.view.View
Method setX() with type int not found on target class class android.view.View
我正在使用 android 属性 动画为我的 Android 应用创建动画。
我在 res/animator/ directory
.
中创建了一个 XML 文件
<?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: Method setX() with type int not found on target
class class android.view.View
知道如何修复错误。
应该是android:propertyName="translationX"
属性,因为你同时使用了valueFrom和valueTo,我猜这意味着将视图从x1移动到x2。如果你想使用 属性 x 那么你应该只 valueTo 属性.
您应该将 valueType 更改为 android:valueType="floatType"
,因为 setX() 采用浮点值 (ref)。
我正在使用 android 属性 动画为我的 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
.
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(PropertyAnimationActivity.this,
R.animator.animation_load_from_xml_example);
set.setTarget(animatorSetView);
set.start();
我收到错误
PropertyValuesHolder: Method setX() with type int not found on target class class android.view.View
知道如何修复错误。
应该是android:propertyName="translationX"
属性,因为你同时使用了valueFrom和valueTo,我猜这意味着将视图从x1移动到x2。如果你想使用 属性 x 那么你应该只 valueTo 属性.
您应该将 valueType 更改为 android:valueType="floatType"
,因为 setX() 采用浮点值 (ref)。