/ ViewPager

ViewPager-based Android Banner that supports auto scrolling and decent animation

ViewPager-based Android Banner that supports auto scrolling and decent animation

DecentBanner

Flipboard's ViewPager-based Android Banner that supports auto scrolling and decent animation.

decent_sample

Features

  • Smooth buoy movement animation and title opacity animation.

  • You can choose to enable logo at the top left corner.

  • Compatible to banners with less than three items.

  • You can specify the auto scroll interval and animation duration.

  • public methods to start and stop auto scroll.

  • Infinite loop.

decent_qr

Import

Maven

<dependency>
  <groupId>it.chengdazhi.decentbanner</groupId>
  <artifactId>decentbanner</artifactId>
  <version>1.0.7</version>
  <type>pom</type>
</dependency>

Gradle

dependencies {
    compile 'it.chengdazhi.decentbanner:decentbanner:1.0.7'
}

Usage

  • To initiate your DecentBanner, first acquire DecentBanner instance mDecentBanner in Java or XML, then:
/**
* @param views the list of views that you want to include in the banner
* @param titles the list of titles that appears as tabs at the bottom
* @param intervalSeconds the interval of auto scrolling, set to 2 in sample
* @param animationMillis the scrolling's animation time, set to 500 in sample
* @param int logoResourceId | Bitmap logoBitmap the logo you want to display.
        You can skip this param if you don't want it.
*/
mDecentBanner.start(List<View> views, List<String> titles, int intervalSeconds,
        int animationMillis[, int logoResourceId | Bitmap logoBitmap]);
  • Note that when you want to show less than 3 views, you need to extend the views to be no less than three items. When you want to display 2 views, your titles param should contain 2 items and your views param should contain 4 items as ABAB

  • You can call the following two methods to start/stop auto scrolling.

mDecentBanner.startAutoPlay();
mDecentBanner.stopAutoPlay();
  • You can call these method to enable/disable gradient cover or to query whether the cover is enabled
mDecentBanner.setGradientEnabled(boolean enabled);
mDecentBanner.isGradientEnabled();

GitHub