簡體   English   中英

更改TabLayout上的標簽時,如何識別相同的標簽或片段?

[英]How to identify the same tab or fragment when change tabs on tablayout?

布局很簡單,下面是tablayout和viewpager。 我們在viewpager中使用片段。 片段中有一個動畫。 現在,每次我們更改選項卡時,都會顯示新片段,並顯示動畫。 如果將選項卡改回相同的選項卡,我想取消動畫。 例如,將選項卡1更改為選項卡2,然后返回到選項卡1,將顯示第一次訪問選項卡1的動畫,但是應取消第二次訪問選項卡1的動畫。 怎么做 ? 謝謝。

您可以簡單地添加一個初始值為false的布爾變量,並且在第一次之后可以在onAnimationEnd listner內將其值更改為true。然后,下一次僅顯示的動畫為boolean 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) {

        }
    });

你必須在里面玩東西

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

            }
        });

抱歉,回復簡短。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM