2013-11-09 170 views
-1

我在我的screen中有两个LinearLayout如何翻转两个LinearLayout从右到左和从左到右

第一个应该是可见的,第二个应该在活动启动时不可见。通过在第一个Linearlayout中按button,第一个LinearLayout应该是invisible,第二个应该是visible

但是* 我想要一些动画在隐形和隐形状态时。 *像当时1st不可见的时候应该是animate朝着屏幕右侧看不见,而2nd应该来自leftsidescreen通过给出animating的效果。

+0

为什么投反对票,如果它是很难理解的问题,请ping通我。 – user2447043

回答

2

确定这将是你的问题 第一隐藏在XML布局文件第二的LinearLayout的,因为你不希望它的第一次,而活动推出接着创建res文件夹内anim文件夹使用标签android:visibility="invisible"答案有创造那么flip_in_right 2个动画XML文件一样flip_in_leftflip_in_rightflip_in_left.xml

<translate 
    android:duration="500" 
    android:fromXDelta="100%" 
    android:toXDelta="0" 
    /> 

。XML申请

<translate 
    android:duration="500" 
    android:fromXDelta="0" 
    android:toXDelta="100%" 
    /> 

得到的IDS你的两个LinearLayout's

LinearLayout layout1 = (LinearLayout) findViewById(R.id.layout1); 
LinearLayout layout2 = (LinearLayout) findViewById(R.id.layout2); 

通过点击ButtononClickListener

layout1.startAnimation(AnimationUtils.loadAnimation(this,flip_in_right)); 
layout.setVisible(View.GONE); 
layout2.setVisible(View.VISIBLE) 
layout1.startAnimation(AnimationUtils.loadAnimation(this,flip_in_left)); 

像这里面你可以做

1

试试这个:

TranslateAnimation animation = new TranslateAnimation(0, -viewWidth, 0, 0); // To animate to the left. To animate right, remove the "-". 
     animation.setDuration(500); 
     animation.setAnimationListener(new TranslateAnimation.AnimationListener() 
     { 

      @Override 
      public void onAnimationStart(Animation animation) { } 

      @Override 
      public void onAnimationRepeat(Animation animation) { } 

      @Override 
      public void onAnimationEnd(Animation animation) 
      {    
       myView.setVisibility(View.GONE); 
      } 
     }); 

     myView.startAnimation(animation); 
+0

你写的地方从左到右,从右到左,这可能不是我问题的恰当答案。 – user2447043

+0

@kalyanpvs首先了解我的问题我所说的是对于linerarlayout或任何视图您发布的链接是针对活动的,因此我无法在视图或布局中应用overridePendingTransition。 – user2447043

+0

@kalyanpvs哈哈,你真的应该正确地阅读这个问题,你知道他在问什么吗? –

1

创建资源动画文件夹,像slie_out_left.xml

创建XML

<translate 
    android:duration="300" 
    android:fromXDelta="0" 
    android:fromYDelta="0" 
    android:toXDelta="100%" 
    android:toYDelta="0" /> 

这又是一个XML文件名是silde_in_right。 xml

<translate 
    android:duration="300" 
    android:fromXDelta="100%" 
    android:fromYDelta="0%" 
    android:toXDelta="0%" 
    android:toYDelta="0%" /> 

,并使用该

Animation anim1=AnimationUtils.loadAnimation(this,R.anim.slide_out_left); 
Animation anim2=AnimationUtils.loadAnimation(this,R.anim.slide_in_right); 

将此动画推崇的布局让您的活动动画。并保持各自的可见性功能。

+0

这是相当接近我可以说非常接近我正在寻找 – user2447043

+0

http://developer.android.com/reference/android/view/animation/Animation.html正确地看这个链接,然后问你真正想要什么。 –

0
   holder.layout.setVisibility(View.VISIBLE); 

       Animation animation = AnimationUtils.loadAnimation(
         _context, R.animator.left_anim); 
       animation.setDuration(500); 
       holder.layout.setAnimation(animation); 
       holder.layout.animate(); 

如果您不是在活动课

here is the left_anim xml 

<?xml version="1.0" encoding="utf-8"?> 


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