我正在使用ObjectAnimator进行一些动画处理。 它可以在Emulator Nexus 5X API 28 Android 9.0上完美运行。 当我在Galaxy S5 Android 6和Galaxy Note 4 Android 6上运行该应用程序时,它不起作用。
这是我正在使用的代码
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@id/Text"
android:text="Start"
android:onClick="start"/>
</android.support.constraint.ConstraintLayout>
MainActivity.java
TextView text = findViewById(R.id.Text);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Path myPath = new Path();
myPath.addCircle(1, 1, 70, Path.Direction.CW);
myAnima = ObjectAnimator.ofFloat(text, View.X, View.Y, myPath);
myAnima.setDuration(4000);
myAnima.setInterpolator(new LinearInterpolator());
myAnima.setRepeatCount(Animation.INFINITE);
myAnima.start();
}else{
Toast.makeText(this, "your Device not supported", Toast.LENGTH_SHORT).show();
}
有人知道为什么吗?