All Projects → BoBoMEe → AutoScrollLoopViewPager

BoBoMEe / AutoScrollLoopViewPager

Licence: other
AutoScrollLoopViewPager, 无限轮播的Banner

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to AutoScrollLoopViewPager

Banner
🔥🔥ViewPager,ViewPager2无限轮播功能。自定义Indicator,支持一屏三页,支持仿魅族banner效果。极其简单的使用方式
Stars: ✭ 393 (+754.35%)
Mutual labels:  banner, viewpager
Bannerlayout
Support unlimited picture rotation BannerLayout, the minimum implementation of the code banner
Stars: ✭ 92 (+100%)
Mutual labels:  banner, viewpager
Pagetransformerhelp
👍 A PageTransformer library for Android ViewPager,have some Banner styles. ViewPager 实现轮播图、实现卡片切换。
Stars: ✭ 478 (+939.13%)
Mutual labels:  banner, viewpager
FastBanner
🔥快速轮播图,支持自定义布局和使用自有图片显示组件
Stars: ✭ 27 (-41.3%)
Mutual labels:  banner, viewpager
Banner
🔥🔥🔥Banner 2.0 来了!Android广告图片轮播控件,内部基于ViewPager2实现,Indicator和UI都可以自定义。
Stars: ✭ 11,682 (+25295.65%)
Mutual labels:  banner, viewpager
Bannerview
横幅广告图片轮播控件
Stars: ✭ 290 (+530.43%)
Mutual labels:  banner, viewpager
Viewpagerhelper
这个一个 viewpager/viewpager2工具类,能够帮你快速实现导航栏轮播图,app引导页,viewpager/viewpager2 + fragment;内置多种tab指示器,让你告别 viewpager 的繁琐操作,专注逻辑功能
Stars: ✭ 957 (+1980.43%)
Mutual labels:  banner, viewpager
Banner
轮播图控件,支持自定义布局,支持两端缩进,类似卡片,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!
Stars: ✭ 512 (+1013.04%)
Mutual labels:  banner, viewpager
Xbanner
🔥【图片轮播】支持图片无限轮播,支持AndroidX、自定义指示点、显示提示文字、切换动画、自定义布局,一屏显示多个等功能
Stars: ✭ 1,734 (+3669.57%)
Mutual labels:  banner, viewpager
Loopviewpagerlayout
☺无限轮播ViewPagerLayout 广告栏 banner 多种滑动的样式 使用API简单明了
Stars: ✭ 100 (+117.39%)
Mutual labels:  banner, viewpager
Banner
布局可xml定制任意布局的banner控件,不仅局限于图片轮播哦,轻松解决各种需求。Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架 以及视频轮播等!
Stars: ✭ 35 (-23.91%)
Mutual labels:  banner, viewpager
ViewWorld
自定义View合集,展示各种自定义View/控件。项目包含了自定义Banner轮播图控件,自定义验证码输入框,自定义TabLayout等控件,持续更新中😉😉😉
Stars: ✭ 94 (+104.35%)
Mutual labels:  banner, viewpager
LoopBanner
一个简单好用且超轻量的自动轮播控件,支持UI风格完全自定义
Stars: ✭ 56 (+21.74%)
Mutual labels:  banner, viewpager
Cardslideview
一行代码实现ViewPager卡片效果,比ViewPager2更强大,底层同样是RecyclerView
Stars: ✭ 301 (+554.35%)
Mutual labels:  banner, viewpager
Banner
Android Viewpager rotation control, application guide page controls, support vertical, horizontal cycle scrolling, extended from view support animation, indicator extension and so on;Android viewpager轮播图控件、app引导页控件,支持垂直、水平循环滚动,扩展自viewpager 支持动画,指示器扩展等。
Stars: ✭ 96 (+108.7%)
Mutual labels:  banner, viewpager
Bannerviewpager
🚀 An awesome banner view for Android,Based on ViewPager2. 这可能是全网最好用的ViewPager轮播图。简单、高效,一行代码实现循环轮播,一屏三页任意变,指示器样式任你挑。
Stars: ✭ 2,603 (+5558.7%)
Mutual labels:  banner, viewpager
SimpleSlider
A simple slider allows you to easily use.
Stars: ✭ 78 (+69.57%)
Mutual labels:  banner, viewpager
PagerSlidingTabStrip
An interactive indicator to navigate between the different pages of a ViewPager
Stars: ✭ 2,194 (+4669.57%)
Mutual labels:  viewpager
DynamicViewPagerDemo
ViewPager单屏显示多页面,动画效果
Stars: ✭ 49 (+6.52%)
Mutual labels:  viewpager
IndicatorView
IndicatorView Library For Android
Stars: ✭ 41 (-10.87%)
Mutual labels:  viewpager

ScrollLoopViewPager

Android auto scroll loop viewpager

ScreenShot

AutoScrollLoopViewPager

Import

  • maven
<dependency>
  <groupId>com.bobomee.android</groupId>
  <artifactId>scrollloopviewpager</artifactId>
  <version>2.1</version>
  <type>aar</type>
</dependency>
  • gradle
compile 'com.bobomee.android:scrollloopviewpager:2.1'

Usage

  • Simple
private void initViewPager(View view) {
      ViewPager viewPager = ViewFindUtils.find(view, R.id.viewpager);
      viewPager.setAdapter(new FragmentStateAdapter(getChildFragmentManager()));

      final BannerController bannerController = new BannerController(getActivity());
      bannerController.viewPager(viewPager);

      viewPager.setOnTouchListener(new View.OnTouchListener() {
        @Override public boolean onTouch(View v, MotionEvent event) {
          bannerController.dispatchTouchEvent(event);
          return false;
        }
      });

      bannerController.startAutoScroll();
}
  final BannerConfig bannerConfig = BannerConfig.sConfig(getContext())
           .autoScrollFactor(0.8f)
           .swipeScrollFactor(1.2f)
           .interval(800);

  final BannerController bannerController = new BannerController(bannerConfig);
  bannerController.viewPager(viewPager);
 final BannerController lBannerController = new BannerScroll(lBannerConfig);//use custom config
 lBannerController.viewPager(lViewPager); // attach viewpager

      lViewPager.setOnTouchListener(new View.OnTouchListener() {
        @Override public boolean onTouch(View v, MotionEvent event) {
          lBannerController.dispatchTouchEvent(event);// dispatchTouchEvent,stop scroll when touch
          return false;
        }
      });
  • Advance
 viewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override public void onPageSelected(int position) {
          super.onPageSelected(position);
          if (bannerController.isFirst() || bannerController.isLast()) {
            bannerController.toggleDirection();
          }
        }
      });

Extends

However, you can also customize Viewpager

public class InfiniteBanner extends LoopViewPager {

  private BannerScroll mBannerScroll;

  public InfiniteBanner(Context context) {
    super(context);
    init();
  }

  public InfiniteBanner(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
  }

  private void init() {
    mBannerScroll = new BannerScroll(getContext());
    mBannerScroll.viewPager(this);
    mBannerScroll.startAutoScroll();
  }

  @Override public boolean dispatchTouchEvent(MotionEvent ev) {
    mBannerScroll.dispatchTouchEvent(ev);
    return super.dispatchTouchEvent(ev);
  }

  @Override protected void onDetachedFromWindow() {
    mBannerScroll.onDetachedFromWindow();
    super.onDetachedFromWindow();
  }
}
 ViewPager viewPager = ViewFindUtils.find(view, viewpager);
 FragmentStateAdapter fragmentStateAdapter = new FragmentStateAdapter(fragmentManager);
 viewPager.setAdapter(fragmentStateAdapter);

Config Setting

  • interval(long) set auto scroll time in milliseconds, default is DEFAULT_INTERVAL.
  • direction(int) set auto scroll direction, default is RIGHT.
  • autoScrollFactor(double) set the factor by which the duration of sliding animation will change.
  • stopScrollWhenTouch(boolean) set whether stop auto scroll when touching, default is true.
  • You may need JakeWharton/ViewPagerIndicator to implement indicator.
  • Also you can see DrawableIndicator

Thanks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].