TranslateAnimated ImageView闪烁

时间:2013-04-02 10:20:57

标签: java android

我有一个大问题。我使用此代码为ImageView设置动画,将一个ImageView从当前X位置水平移动到0。

这是动画代码

    translate = new TranslateAnimation(0, translateX, 0, 0);
    translate.setDuration(400);
    translate.setAnimationListener(new AnimationListener() {
        public void onAnimationEnd(Animation animation) {
            txtTitle.setText(String.format("Translate: %d %d", translateX, lpView1.leftMargin));
            lpView1.leftMargin = 0;
            mainSwitchBtn.setLayoutParams(lpView1);
        }

        public void onAnimationRepeat(Animation animation) {
        }

        public void onAnimationStart(Animation animation) {
        }

    });
    translate.reset();
    translate.setFillAfter(false);
    mainSwitchBtn.clearAnimation();
    mainSwitchBtn.startAnimation(translate);

当动画结束时,我已将ImageView移动到0.此时我看到了ImageView的闪烁。我不知道是什么问题。有人可以帮助我吗?

编辑:成功问题

我已经在我的代码中创建了一个问题。

我已经替换了这段代码

mainSwitchBtn.setLayoutParams(lpView1);

有了这个

mainSwitchBtn.layout(0, 0, 0, 0);

我不知道在布局参数中设置边距和设置参数来查看对象或使用.layout函数之间有什么区别,但现在我没有闪烁。

1 个答案:

答案 0 :(得分:0)

似乎动画结束并且你的imageview返回到原始的非动画图像,也许你应该尝试使用Horizo​​ntalScrollView而不是动画