我想使用ObjectAnimator在Y轴上移动textView。此代码可以工作但由于屏幕尺寸不适合所有设备。
ObjectAnimator mover = ObjectAnimator.ofFloat(expand, "translationY", -250, 0);
如何更改最后两个参数?我也尝试过类似的问题,但它们不起作用。
答案 0 :(得分:4)
有两种情况:
您希望移动视图,使其相对于另一个视图占据一定的位置。在这种情况下,您应该仅根据这些观点的位置进行计算(请参阅getTop()
,getLeft()
等)。
您希望您的视图移动屏幕的某个已定义的物理距离(我猜是这种情况),因此用户会将其视为移动。在这种情况下,您应该使用与设备无关的像素(dp
)而不是原始像素(-250
)。 ObjectAnimator
本身不支持此类转换,因此您必须自己完成。最简单的方法(编写,阅读和支持)是将这样的值存储在dimensions
资源中并通过getResources().getDimensionPixelOffest()
方法