android翻译动画绝对 - 从右到左,从左到右

时间:2015-01-11 17:29:20

标签: android android-animation

我有2个文本视图。

http://cl.ly/image/2S0o2O1x470r

注册并登录。 在他们身后有一个灰色背景的视图。 我想运行一个动画,当你按下那个按钮时,灰色视图 移动到按钮以及视图寻呼机内容。

当我像这样做xml翻译时:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="100%" >
</translate>

动画正确,但当它完成时,它会回到原位。

我该如何保留它?

之前从未做过绝对动画,也找不到任何有用的动画 关于那个问题。

TY

1 个答案:

答案 0 :(得分:7)

我解决了,我会发布我的解决方案以防其他人遇到这个问题。

我是在代码中完成的,而不是xml,代码:

private void rightAnimation() {

    //measures the layout width so the button knows how much to move.
    int xOffset = signUpLoginLayout.getMeasuredWidth() / 2;
    //the animation - xOffset / 2 is how much I want to move right on the Xline.
    TranslateAnimation moveAnim = new TranslateAnimation(0, xOffset, 0, 0);
    moveAnim.setDuration(500);
    moveAnim.setFillAfter(true);
    leftSignUpAnimation.startAnimation(moveAnim);

    moveAnim.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
            //that's to move the viewpager to the desired location.
            pager.setCurrentItem(0, true);
        }

        @Override
        public void onAnimationEnd(Animation animation) {

        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });

做同样的方法左移只是切换动画 从(0,xOffset,0,0)到(xOffset,0,0,0)

希望这有助于某人。

祝你好运:)