移动后如何修复视图位置

时间:2015-12-03 12:24:52

标签: android android-animation

使用下面的代码,TextView变量tvAppName成功滑动,但在1,200毫秒后视图返回其位置。移动后如何修复视图?

        Handler hd = new Handler();
        hd.postDelayed(new Runnable() {
            @Override
            public void run() {

                TranslateAnimation anim = new TranslateAnimation(0, 0, 100, 0);
                anim.setDuration(500);
                anim.setAnimationListener(new Animation.AnimationListener() {
                    @Override
                    public void onAnimationStart(Animation animation) {

                    }
                    @Override
                    public void onAnimationEnd(Animation animation) {

                    }
                    @Override
                    public void onAnimationRepeat(Animation animation) {

                    }
                });
                tvAppName.startAnimation(anim);
            }
        }, 1200);
    }

3 个答案:

答案 0 :(得分:1)

从文档中:您需要使用setFillAfter方法。

anim.setFillAfter( true );
  

如果fillAfter为true,则表示此动画执行的转换   它会在完成后继续存在

希望它有所帮助。

答案 1 :(得分:0)

您应该使用NineOldAndroid库。这是一个非常好的图书馆。它会帮助你制作很多动画。

答案 2 :(得分:0)

你应该使用anim.setfillafter(true)

  

此动画执行的转换将持续存在   完成了

如果你没有使用下面的代码,你可以删除那个

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

                }
                @Override
                public void onAnimationEnd(Animation animation) {

                }
                @Override
                public void onAnimationRepeat(Animation animation) {

                }
            });