android– 在翻译动画时是否可以获得ImageView的实时坐标?

android– 在翻译动画时是否可以获得ImageView的实时坐标?,第1张

概述我在ImageView中有一个子d的图像,可以执行翻译动画.我需要显示实时坐标以显示它与目标的实时距离.ImageViewmyimage=(ImageView)findViewById(R.id.myimage);Animationanimation=newTranslateAnimation(100,200,300,400);animation.setDuration(1000);myimage

我在ImageVIEw中有一个子d的图像,可以执行翻译动画.

我需要显示实时坐标以显示它与目标的实时距离.

ImageVIEw myimage = (ImageVIEw)findVIEwByID(R.ID.myimage);    Animation animation = new TranslateAnimation(100, 200, 300, 400);animation.setDuration(1000);myimage.startAnimation(animation);animation.setRepeatCount(Animation.INFINITE);

在进行TranslateAnimation时,是否可以获得图像的实时x和y坐标?

如果使用TranslateAnimation不可能,还有其他方法可以在运动时提供图像的实时坐标吗?

我试过了 –

int x = myimage.getleft();int y = myimage.gettop(); 

int[] firstposition = new int[2];myimage.measure(VIEw.MeasureSpec.EXACTLY, VIEw.MeasureSpec.EXACTLY);myimage.getLocationOnScreen(firstposition);int x = firstposition[0];int y = firstposition[1];

但在这两种方式中,它给出了ImageVIEw的初始静态坐标.

解决方法:

以下是基于user3249477和Vikram所说的完整示例:

    final TextVIEw positionTextVIEw = (TextVIEw)findVIEwByID(R.ID.positionTextVIEw);    ImageVIEw myimage = (ImageVIEw)findVIEwByID(R.ID.imageVIEw);        ObjectAnimator translateXAnimation= ObjectAnimator.offloat(myimage, "translationX", 0f, 100f);    ObjectAnimator translateYAnimation= ObjectAnimator.offloat(myimage, "translationY", 0f, 100f);         translateXAnimation.setRepeatCount(ValueAnimator.INFINITE);          translateYAnimation.setRepeatCount(ValueAnimator.INFINITE);    AnimatorSet set = new AnimatorSet();    set.setDuration(1000);    set.playTogether(translateXAnimation, translateYAnimation);    set.start();    translateXAnimation.addUpdateListener(new AnimatorUpdateListener() {        @OverrIDe        public voID onAnimationUpdate(ValueAnimator animation) {            imageXposition = (float)animation.getAnimatedValue();        }    });    translateYAnimation.addUpdateListener(new AnimatorUpdateListener() {        @OverrIDe        public voID onAnimationUpdate(ValueAnimator animation) {            imageYposition = (float)animation.getAnimatedValue();            String position = String.format("X:%d Y:%d", (int)imageXposition, (int)imageYposition);            positionTextVIEw.setText(position);        }    });
总结

以上是内存溢出为你收集整理的android – 在翻译动画时是否可以获得ImageView的实时坐标?全部内容,希望文章能够帮你解决android – 在翻译动画时是否可以获得ImageView的实时坐标?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1096771.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存