1

我正在开发一个回合制游戏,有 2 个游戏板,当我想在 2 个游戏板之间切换时,我使用滑动动画。但问题来了。我有 4 个 animator xml 文件,in-right,out-right,in-left,out-left。这是其中之一:

<objectAnimator
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:propertyName="x"
    android:valueFrom="1000"
    android:valueTo="0"
    android:valueType="floatType" />

滑动正常,但我在高度为 1280px 的模拟器上测试了这个游戏(并且游戏在横向模式下运行),在幻灯片的末尾,有一个 280px 宽的部分,不是滑动,只是隐藏在滑动动画结束。当我将 valuefrom 值设置为 2000 时,它会更好,因为两个板不会褪色另一个,但在这种情况下有一个 720 px 宽的黑色区域。

您知道吗,如何根据实际屏幕尺寸动态设置这些值?谢谢。

4

1 回答 1

1

使用 的因式分解方法ObjectAnimator

例子:

ObjectAnimator anim = ObjectAnimator.ofFloat(targetObject, "x", 0.f, 1000.f);
anim.setDuration(300);
anim.start();

您可以使用以下代码以编程方式获取视图的显示或大小的指标

getWindowManager().getDefaultDisplay().getWidth();

View view = ...;
view.getHeight();

看:

于 2014-08-29T09:17:10.507 回答