首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

应用于ImageView的TranslateAnimation留下了痕迹

作为一个云计算领域的专家,我可以为您提供关于ImageView的TranslateAnimation留下痕迹的解决方案。

首先,我们需要了解TranslateAnimation是一种在Android中的动画效果,它可以使视图在屏幕上移动。当我们使用TranslateAnimation时,可能会遇到留下痕迹的问题,这是因为在动画执行时,视图的位置发生了变化,但是在动画结束后,视图的位置并没有恢复到原来的位置。

为了解决这个问题,我们可以使用一种方法来重置视图的位置。具体来说,我们可以在动画结束后,使用setTranslationX和setTranslationY方法来重置视图的位置。

以下是一个示例代码:

代码语言:java
复制
TranslateAnimation animation = new TranslateAnimation(0, 100, 0, 0);
animation.setDuration(1000);
animation.setFillAfter(true);
imageView.startAnimation(animation);

animation.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
    }

    @Override
    public void onAnimationEnd(Animation animation) {
        imageView.setTranslationX(0);
        imageView.setTranslationY(0);
    }

    @Override
    public void onAnimationRepeat(Animation animation) {
    }
});

在这个示例代码中,我们首先创建了一个TranslateAnimation对象,并设置了动画的属性。然后,我们将动画应用于ImageView,并设置了fillAfter属性为true,这样可以保证动画结束后,视图的位置不会回到原来的位置。

接下来,我们使用setAnimationListener方法来设置动画的监听器,当动画结束时,我们使用setTranslationX和setTranslationY方法来重置视图的位置。这样就可以解决ImageView的TranslateAnimation留下痕迹的问题。

希望这个答案能够帮助到您。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android积分签到上移消失动画效果

    那会不会做就想着改下需求,直接去掉了动画效果,而今时隔很久又遇到同样问题,比较蛋疼是我清楚记得当时做过这个功能,但是自己没有做出来,当然现在做还是不会。自己当年省写代码含泪也要补上。...大致思路:动画部分,由一个垂直平移和一个透明度变化两个动画组成。然后通过AnimationSet将两个动画添加到集合,然后开始播放动画。...) findViewById(R.id.iv_sign);//签到 redDot = (ImageView) findViewById(R.id.iv_redpoint);//显示未签到红圆点 textView...TranslateAnimation translate = new TranslateAnimation(left, left, top, top - 100); translate.setDuration...translate = new TranslateAnimation(left, left, top, top - 100); 接收四个参数,我们点击去看他源码 /** * Constructor

    1.2K10

    Android控件显示、隐藏时,增加动画效果

    Android控件显示、隐藏时,增加动画效果 首先还是看一下演示效果吧,不然凭什么相信我帖子能解决你问题呢? 效果GIF如下 ?...动画效果就是这样,如果不符合你要求,就不浪费你宝贵时间了,如果是你想要效果就请往下看。 话不多说,我直接贴代码,有不明白可以在评论区问我: activity_main.xml <?...ivTranslateLogo = (ImageView) findViewById(R.id.iv_translate_logo); ivScaleLogo = (ImageView)...(); } //位移动画 private void translateAnimation() { //向上位移显示动画 从自身位置最下端向上滑动了自身高度...,很简单,有什么问题可以直接评论区发问,我会第一时间回复

    4.9K30

    Android开发(43) 动画演示,会跑小人,从屏幕左侧跑到右侧

    需求 想做一个动画,一个会跑小人,从屏幕右侧跑道右侧,于是做了个尝试,上图: 实现步骤 要完成这样需要三步: 做一个 帧动画 (frame animation),由多张图片组成,组成小人连续跑动样子...在onStart里启动动画 第一步,描述 “人物动作变化”动画 准备多个动作图片,写个xml animation : <?xml version="1.0" encoding="utf-8"?...mAnimationDrawable.setOneShot(false); } 第二步,位移动画 代码: Animation translate = new TranslateAnimation...android.view.ViewTreeObserver; import android.view.animation.Animation; import android.view.animation.TranslateAnimation...private void startAnimation() { mAnimationDrawable.start(); Animation translate = new TranslateAnimation

    1.2K00

    帧动画和补间动画

    添加条目节点,设置资源android:drawable=”@drawable/xxx” 设置执行时间,android:duration=”100” 逐帧添加对应图片 获取ImageView...对象,通过findViewById() 调用ImageView对象setBackgroundResource()设置背景资源,参数:资源文件 调用ImageView对象getBackground()...方法获取到AnimationDrawable对象 getBackground()方法是异步在一个单独线程里面执行,因此,有时候,下面的代码是播放不了,建议放在按钮点击事件里,或者屏幕触摸事件里...()方法,参数:RotateAnimation对象 平移 获取TranslateAnimation对象,new TranslateAnimation(),参数: 相对于父窗体Animation.RELATIVE_TO_PARENT...()方法,参数:TranslateAnimation对象 组合动画 获取AnimationSet对象,new出来 获取到上面的多个动画对象 调用AnimationSet对象addAnimation()

    74220

    详解Android实现购物车页面及购物车效果(点击动画)

    思路: (1)思考每个条目中数字更新原理。 (2)购物车动画效果。 (3)购物清单怎么显示(这个我暂时没有写,如果需要的话,可以在我简书下给我留言)。...坐标,并且设置动画图片: // ball是个imageview startLocation = new int[2];// 一个整型数组,用来存储按钮在屏幕X、Y坐标 view.getLocationInWindow...(startLocation);// 这是获取购买按钮在屏幕X、Y坐标(这也是动画开始坐标) ball = new ImageView(MainActivity.this);...[1];// 动画位移y坐标 TranslateAnimation translateAnimationX = new TranslateAnimation(0, endX,...translateAnimationX.setFillAfter(true); TranslateAnimation translateAnimationY = new TranslateAnimation

    2.1K31

    Android UI设计与开发之ViewPager仿微信引导界面以及动画效果

    这篇要实现是一个仿微信动画效果,虽然这种效果实现在网上到处都有,但是我还是想站在中低端开发者角度去告诉大家是如何实现,当然实现方式有很多,我也只是列出了我认为实现起来比较方便一种方法,希望大家能够受用...; import android.widget.ImageView; import android.widget.TextView; /** * @author yangyu * 功能描述:实现动画效果入口...findViewById(R.id.anim_text); //实例化动画对象 AnimationSet anim = new AnimationSet(true); //实例化位移动画对象 TranslateAnimation...mytranslateanim = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,-1f...mytranslateanim1 = new TranslateAnimation(Animation.RELATIVE_TO_SELF,0f,Animation.RELATIVE_TO_SELF,+

    67141
    领券