想知道如何以恒定速率制作ImageView幻灯片吗?

时间:2016-01-06 09:47:36

标签: android imageview d-pad

我基本上是为视频游戏编写D-Pad,我试图找出如何使ImageView以恒定的X或Y移动,然后在按钮之后保持该位置释放。

我非常感谢您对我所做的任何帮助或疑问。

3 个答案:

答案 0 :(得分:0)

您可以使用ObjectAnimator。将视图(myView)滑动5个像素:

ObjectAnimator animator = ObjectAnimator.ofInt(myView, "x", myView.getX()+5);
animator.start();

答案 1 :(得分:0)

您可以使用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。 String属性引用要在其上应用新坐标值的对象属性。

我希望它有所帮助。

注意:您可以更改from和to值,以使from值对应于图像的实际位置,以便目标坐标实际上是新位置所需的值。

还有其他解决方案,例如KitKat TransitionManaqger ,但是如果您想在KitKat之前定位设备,则可以使用ObjectAnimator。

答案 2 :(得分:0)

创建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);