2016-09-28 20 views
0

我想隐藏右向左动画的点击按钮上的布局。出现视图时,我已将动画添加到相同的布局。现在我想用动画隐藏该视图。如何从右向左翻译隐藏布局

//on appearing view 
Animation anim = AnimationUtils.loadAnimation(this, R.anim.left_to_right); 
mylayout.startAnimation(anim1); 

现在我想隐藏与左侧动画相同的布局。然后我想设置可见性GONE。

+2

什么你尝试/什么不工作?请分享一些代码 – 0X0nosugar

+0

我已经添加了代码来动画,但它不工作,因为我想mylayout.animate()。translationX(-mylayout.getWidth()); –

+0

我想知道,因为你似乎设法使布局动画化,所以我只是简单地做相反的动画处理,就像@Akshay Panchal所说的那样。 – 0X0nosugar

回答

1

,您可以拨打animation resource并使用您startActivity

活动

Intent intent = new Intent(this, ActivityB.class); 
startActivity(intent); 
overridePendingTransition(R.anim.right_left_in, R.anim.right_left_out); 
finish(); 

动画资源----> ../anim/right_left_in.xml

<?xml version="1.0" encoding="utf-8"?> 
    <translate 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:duration="300" 
      android:fromXDelta="100%p" 
      android:toXDelta="0%p"> 
    </translate> 

动画res ----> ../anim/right _left_out.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="300" 
     android:fromXDelta="0%p" 
     android:toXDelta="100%p"> 
</translate> 

==========================

OTHERS ANIMATION

../anim/move_left_in_activity.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="300" 
     android:fromXDelta="-100%p" 
     android:toXDelta="0%p"> 
</translate> 

../anim/move_left_out_activity.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="300" 
     android:fromXDelta="0%p" 
     android:toXDelta="-100%p"> 
</translate> 

../anim/slid_in.xml

<?xml version="1.0" encoding="utf-8"?> 
    <translate 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="@android:integer/config_longAnimTime" 
     android:fromXDelta="100%p" 
     android:toXDelta="0%p"> 
    </translate> 

../anim/slid_out.xml

<?xml version="1.0" encoding="utf-8"?> 
    <translate 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="@android:integer/config_longAnimTime" 
     android:fromXDelta="0%p" 
     android:toXDelta="-100%p"> 
    </translate> 

../anim/zoom_in。 xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" > 
    <scale 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="1000" 
     android:fromXScale="1" 
     android:fromYScale="1" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toXScale="3" 
     android:toYScale="3" > 
    </scale> 
</set> 
2

您可以为动画权相同的XML到左,然后应用动画一样的,你没有和添加动画听众像下面,和刚刚成立能见度去你的观点在onAnimationEnd

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

     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 

     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 

     } 
    }); 
0

创建“动画”下面res文件夹的Android资源目录enter image description here

然后创建新的动画文件名为slide_left_out。XML和编写代码:

<?xml version="1.0" encoding="utf-8"?> 
<set 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:ordering="together" 
    android:duration="350"> 
    <translate 
     android:fromXDelta="0" 
     android:toXDelta="-100%p" 
     android:fromYDelta="0" 
     android:toYDelta="50%p"/> 
    <scale 
     android:fromXScale="1" 
     android:toXScale="0.5" 
     android:fromYScale="1" 
     android:toYScale="0.5"/> 
    <alpha 
     android:fromAlpha="1" 
     android:toAlpha="0"/> 
</set> 

那么动画应用到视图

Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.slide_left_out); 
mylayout.startAnimation(anim); 
相关问题