我正在开发回合制游戏,并且有2个游戏板,当我想在2个游戏板之间切换时,我会使用滑动动画。但是问题来了。
我有4个动画师xml文件,分别为右,右,左,左。
这是其中之一:

<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宽的黑色区域。

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

最佳答案

使用ObjectAnimator的分解方法。

例:

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


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

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

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


看到:


ObjectAnimator factory method
Property Animation tutorial

07-25 22:18
查看更多