我正在开发回合制游戏,并且有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