zhpanvip / BannerViewPager

🚀 An awesome banner view for Android,Based on ViewPager2. 这可能是全网最好用的ViewPager轮播图。简单、高效,一行代码实现循环轮播,一屏三页任意变,指示器样式任你挑。
Apache License 2.0
3.57k stars 434 forks source link

可以同时使用2个Indicator吗? #279

Closed ppg408331701 closed 2 years ago

ppg408331701 commented 2 years ago

QQ截图20220902160100

类似这种,内部和外部都存在一个Indicator

zhpanvip commented 2 years ago

可以

ppg408331701 commented 2 years ago

可以

但是 我看api里面bannerView.setIndicatorView()这个方法只能设置一个自定义Indicator, 是不是意味着要搞2个Indicator的话,其中一个Indicator必须通过registerOnPageChangeCallback这个方法控制切换?

demo中有例子吗?有的话麻烦告诉我在哪个类,谢谢了

zhpanvip commented 2 years ago

xml自定义一个indicator,然后可以通过下边代码实现。

    mViewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
      @Override
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        super.onPageScrolled(position, positionOffset, positionOffsetPixels);
        mIndicatorView.onPageScrolled(position,positionOffset,positionOffsetPixels);
      }

      @Override
      public void onPageSelected(int position) {
        super.onPageSelected(position);
        mIndicatorView.onPageSelected(position);
      }

      @Override
      public void onPageScrollStateChanged(int state) {
        super.onPageScrollStateChanged(state);
        mIndicatorView.onPageScrollStateChanged(state);
      }
    });
ppg408331701 commented 2 years ago

非常感谢