想知道如何以恒定速率制作 ImageView 幻灯片吗?
Wondering how to make an ImageView slide at a constant rate?
我基本上是在为视频游戏编写方向键,我正在尝试弄清楚如何使 ImageView 以恒定的 X 或 Y 移动,然后在释放按钮后保持该位置。
任何有关我正在做的事情的帮助或问题将不胜感激。
您可以使用 ObjectAnimator。将视图 (myView) 滑动 5 像素:
ObjectAnimator animator = ObjectAnimator.ofInt(myView, "x", myView.getX()+5);
animator.start();
您可以使用ObjectAnimator.ofFloat(Object target, String property, float values...)
将其设置为 LinearInterpomator
以便动画在其进程中保持不变。
示例:
ObjectAnimator animator = ObjectAnimator.ofFloat(myImage, "X", 0f, 150f);
设置插值器:
animator.setInterpolator(new LinearInterpolator());
以毫秒为单位的持续时间:
animator.setDuration(5000); //5 seconds
那就开始吧。
它会将您的图像从 X 轴上的 0 移动到 150。
字符串 属性 指的是要应用新坐标值的对象 属性。
希望对您有所帮助。
注意:您可以更改 from 和 to 值,以便 from 值对应于图像的实际位置,并且目标坐标实际上是新位置所需的。
还有其他解决方案,例如 KitKat TransitionManaqger 但如果您想在 KitKat 之前定位设备,您可以使用 ObjectAnimator。
创建slideanimation.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1500"
android:fromXDelta="-100%"
android:fromYDelta="0%"
android:repeatMode="reverse"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
在代码中
image = (ImageView) findViewById(R.id.imageLady);
Animation animation = AnimationUtils.loadAnimation(this, R.anim.slide_right);
image.startAnimation(animation);
我基本上是在为视频游戏编写方向键,我正在尝试弄清楚如何使 ImageView 以恒定的 X 或 Y 移动,然后在释放按钮后保持该位置。
任何有关我正在做的事情的帮助或问题将不胜感激。
您可以使用 ObjectAnimator。将视图 (myView) 滑动 5 像素:
ObjectAnimator animator = ObjectAnimator.ofInt(myView, "x", myView.getX()+5);
animator.start();
您可以使用ObjectAnimator.ofFloat(Object target, String property, float values...)
将其设置为 LinearInterpomator
以便动画在其进程中保持不变。
示例:
ObjectAnimator animator = ObjectAnimator.ofFloat(myImage, "X", 0f, 150f);
设置插值器:
animator.setInterpolator(new LinearInterpolator());
以毫秒为单位的持续时间:
animator.setDuration(5000); //5 seconds
那就开始吧。
它会将您的图像从 X 轴上的 0 移动到 150。 字符串 属性 指的是要应用新坐标值的对象 属性。
希望对您有所帮助。
注意:您可以更改 from 和 to 值,以便 from 值对应于图像的实际位置,并且目标坐标实际上是新位置所需的。
还有其他解决方案,例如 KitKat TransitionManaqger 但如果您想在 KitKat 之前定位设备,您可以使用 ObjectAnimator。
创建slideanimation.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="1500"
android:fromXDelta="-100%"
android:fromYDelta="0%"
android:repeatMode="reverse"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
在代码中
image = (ImageView) findViewById(R.id.imageLady);
Animation animation = AnimationUtils.loadAnimation(this, R.anim.slide_right);
image.startAnimation(animation);