如何在tablayout上更改标签时识别相同的标签或片段?

时间:2017-01-04 08:43:47

标签: android

布局很简单,下面是tablayout和viewpager。我们在viewpager中使用片段。片段中有一个动画。现在,每次我们更改选项卡时,都会显示新片段并显示动画。如果我将标签更改回相同的标签,我想取消动画。例如,选项卡1,更改为tab2然后返回选项卡1,第一次访问选项卡1,动画显示,但第二次访问选项卡1时,应取消动画。怎么做 ?感谢。

2 个答案:

答案 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) {

            }
        });

对不起简短的回复。