Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 动态设置animator xml值_Android_Fragmenttransaction_Objectanimator - Fatal编程技术网

Android 动态设置animator xml值

Android 动态设置animator xml值,android,fragmenttransaction,objectanimator,Android,Fragmenttransaction,Objectanimator,我正在开发一个基于回合的游戏,有两个游戏板,当我想在两个游戏板之间切换时,我使用滑动动画。但问题来了。 我有4个animator xml文件,在右边,在右边,在左边,在左边。 以下是其中之一: <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:propertyName="x" android:va

我正在开发一个基于回合的游戏,有两个游戏板,当我想在两个游戏板之间切换时,我使用滑动动画。但问题来了。 我有4个animator 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像素宽的黑色区域

你知道吗,我如何根据实际屏幕大小动态设置这些值?
谢谢。

使用
ObjectAnimator
的分解方法

例如:

ObjectAnimator anim = ObjectAnimator.ofFloat(targetObject, "x", 0.f, 1000.f);
anim.setDuration(300);
anim.start();
您可以使用以下代码以编程方式获取视图的显示或大小的度量:

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

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

可能的副本,请特别检查所选答案。