我想为从屏幕中心开始的 ImageView 设置动画,并将其向上移动到屏幕顶部下方 10 px。我怎样才能在代码中实现这一点?
我目前正在做的是,我正在将屏幕坐标放在另一个图像上,并将这个动画图像放在上面一点,但是在高密度的大屏幕中,它不会保持相同的距离,所以相反,我想将它从顶部移动 10px。
我怎样才能做到这一点?
这是我的代码:
//calculate where to put the logo in y-axis depending on screen size
int coords[] = {0,0};
logoImageFixed.getLocationOnScreen(coords);
int y = coords[1];
int imgFixedHeight = logoImageFixed.getHeight();
Log.d("daim","height: "+imgFixedHeight);
float pointY = -(y + 3*imgFixedHeight);
Animation a = new LogoAnimation(0.0f, 0.0f, 0.0f, pointY);
a.setFillAfter(true);
a.setDuration(600);
a.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
logoAnimated = true;
}
});
logoImage.startAnimation(a);