2013-11-09 171 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>