如何使用ObjectAnimator参数调整所有设备?

时间:2014-09-05 09:14:32

标签: android objectanimator

我想使用ObjectAnimator在Y轴上移动textView。此代码可以工作但由于屏幕尺寸不适合所有设备。

   ObjectAnimator mover = ObjectAnimator.ofFloat(expand, "translationY", -250, 0);

如何更改最后两个参数?我也尝试过类似的问题,但它们不起作用。

1 个答案:

答案 0 :(得分:4)

有两种情况:

  1. 您希望移动视图,使其相对于另一个视图占据一定的位置。在这种情况下,您应该仅根据这些观点的位置进行计算(请参阅getTop()getLeft()等)。

  2. 您希望您的视图移动屏幕的某个已定义的物理距离(我猜是这种情况),因此用户会将其视为移动。在这种情况下,您应该使用与设备无关的像素(dp)而不是原始像素(-250)。 ObjectAnimator本身不支持此类转换,因此您必须自己完成。最简单的方法(编写,阅读和支持)是将这样的值存储在dimensions资源中并通过getResources().getDimensionPixelOffest()方法