我读过the documentation of TranslateAnimation,发现这是TranslateAnimation类的许多构造函数之一:
public TranslateAnimation (float fromXDelta,
float toXDelta,
float fromYDelta,
float toYDelta)
进一步阅读每个参数表示的内容后,我看到fromXDelta
的意思是:
更改X坐标以在动画开始时应用
[...其他参数依此类推。]
问题:
我了解这些参数的含义,但我不知道如何表示它们。什么是度量标准和参考点?它们是指dp还是像素?
就像@Mike M.所说,代码侧的大多数尺寸都在像素。
但是,这并不是障碍,因为您仍然可以轻松地从dp转换为px并返回。您可以使用以下两个函数来实现此目的:
dp到px:
public float convertDpToPixel(float dp, Context context) {
return dp * ((float) context.getResources().getDisplayMetrics().densityDpi / DisplayMetrics.DENSITY_DEFAULT);
}
px到dp
public float convertPixelsToDp(float px, Context context) {
return px / ((float) context.getResources().getDisplayMetrics().densityDpi / DisplayMetrics.DENSITY_DEFAULT);
}
PS:
如果您需要在int
中而不是float
中返回dp值,则只需在Math.round()
中传递该值。
我希望这可以帮助某个人。编码愉快!