0

当使用 ObjectAnimator 移动项目时,由于设备之间的密度差异,我会得到不同的结果。我将如何使这些与密度无关?

ObjectAnimator anim1 = ObjectAnimator.ofFloat(clockLayout, "translationY", 0f, -80f);
                anim1.setDuration(300);
4

1 回答 1

2

我发现的最佳方法是使用 dpi 添加维度:

所以在你的价值观 dimens.xml 文件中:

<dimen name="delta_y">80dp</dimen>

然后你可以在你的活动中把它变成一个浮点数:

float deltaY = getResources().getDimensionPixelSize(R.dimen.delta_y);

ObjectAnimator.ofFloat(clockLayout, "translationY", 0f, -deltaY);
于 2014-08-03T14:16:50.113 回答