2017-01-04 68 views
0

下面的佈局很簡單,tablayout和viewpager。我們在viewpager中使用片段。片段中有一個動畫。現在,每次我們更改標籤時,都會顯示新片段,並顯示動畫。如果我將選項卡更改回相同的選項卡,我想取消動畫。例如,標籤1,改爲tab2,然後回到標籤1,第一次訪問標籤1,動畫顯示,但第二次訪問標籤1,動畫應該取消。怎麼做 ?謝謝。如何在tablayout上更改選項卡時識別相同的選項卡或片段?

回答

0

只需添加一個布爾變量,其初始值爲false,第一次可以將其值更改爲true,然後再放入onAnimationEnd listner.then下一次只顯示布爾值false。

boolean isAnimationShown = false; 
    animation.setAnimationListener(new Animation.AnimationListener() { 
     @Override 
     public void onAnimationStart(Animation animation) { 

     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      isAnimationShown = true; 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 

     } 
    }); 
+0

對不起,我點擊錯誤的到達。我在想大拇指。謝謝。 – gemerator

0

你要玩的東西在 -

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 

      @Override 
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

      } 

      @Override 
      public void onPageSelected(int position) { 

       // save the current position and last position of the pager. 
       // and check accordingly what you want to achieve. 

      } 
      @Override 
      public void onPageScrollStateChanged(int state) { 

      } 
     }); 

對不起簡潔的答覆。

相關問題