布局很简单,下面是tablayout和viewpager。我们在viewpager中使用片段。片段中有一个动画。现在,每次我们更改选项卡时,都会显示新片段并显示动画。如果我将标签更改回相同的标签,我想取消动画。例如,选项卡1,更改为tab2然后返回选项卡1,第一次访问选项卡1,动画显示,但第二次访问选项卡1时,应取消动画。怎么做 ?感谢。
答案 0 :(得分:0)
只需添加一个初始值为false的布尔变量,并在第一次将其值更改为true并且在onAnimationEnd listner中。然后,下次显示的动画仅为布尔值假。
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) {
}
});
答案 1 :(得分: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) {
}
});
对不起简短的回复。