如何在Android上相对移动图像?

时间:2016-06-20 22:10:24

标签: android image animation screen

我正在创建一个类似于速度级别的应用程序。

如果你走得快,我的图像会上升,如果你走得很慢,它会下降(不是顶部,上部越快,下部越慢)。

目前,在每个onLocationChange上,我计算推荐的速度并获得实际值。然后我就像这样移动图像:

imageView.setY((float) speedvalue);

我有两个问题: setY以像素为单位,因此不适合每个屏幕。

图像立即移动,我希望它像动画一样移动。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您可以为此视图的移动设置动画:

TranslateAnimation animation = new TranslateAnimation(startXCoordinate, finishXCoordinate, startYCoordinate, finishYCoordinate);

animation.setDuration(1000);

view.startAnimation(animation);

其次,使用此代码将像素转换为dps,它将在不同的屏幕上移动相同的数量:

int distanceToMove = (int) TypedValue.applyDimension(1, howManyDPsToMove, context.getResources().getDisplayMetrics());