Browse Source

Merge pull request #82 from zhpanvip/dev_2.7.0

2.7.0
zhpanvip 5 years ago
parent
commit
05102f9e6e
48 changed files with 352 additions and 1186 deletions
  1. 25 20
      README.md
  2. 25 20
      README_CN.md
  3. 1 1
      app/build.gradle
  4. BIN
      app/release/app-release.apk
  5. 0 2
      app/src/main/java/com/example/zhpan/circleviewpager/activity/PhotoViewActivity.kt
  6. 4 4
      app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.kt
  7. 4 4
      app/src/main/java/com/example/zhpan/circleviewpager/fragment/HomeFragment.java
  8. 16 16
      app/src/main/java/com/example/zhpan/circleviewpager/fragment/IndicatorFragment.java
  9. 5 5
      app/src/main/java/com/example/zhpan/circleviewpager/fragment/OthersFragment.java
  10. 4 4
      app/src/main/java/com/example/zhpan/circleviewpager/fragment/PageFragment.java
  11. 2 1
      app/src/main/java/com/example/zhpan/circleviewpager/view/DrawableIndicator.java
  12. 3 1
      app/src/main/java/com/example/zhpan/circleviewpager/view/FigureIndicatorView.java
  13. 93 87
      app/src/main/res/layout/fragment_others.xml
  14. 1 1
      app/src/main/res/layout/item_header_view.xml
  15. 2 1
      bannerview/build.gradle
  16. 127 67
      bannerview/src/main/java/com/zhpan/bannerview/BannerViewPager.java
  17. 0 24
      bannerview/src/main/java/com/zhpan/bannerview/annotation/AIndicatorSlideMode.java
  18. 0 24
      bannerview/src/main/java/com/zhpan/bannerview/annotation/AIndicatorStyle.java
  19. 0 14
      bannerview/src/main/java/com/zhpan/bannerview/constants/IndicatorSlideMode.java
  20. 0 13
      bannerview/src/main/java/com/zhpan/bannerview/constants/IndicatorStyle.java
  21. 0 157
      bannerview/src/main/java/com/zhpan/bannerview/indicator/BaseIndicatorView.java
  22. 12 7
      bannerview/src/main/java/com/zhpan/bannerview/indicator/CircleIndicatorView.java
  23. 12 8
      bannerview/src/main/java/com/zhpan/bannerview/indicator/DashIndicatorView.java
  24. 0 20
      bannerview/src/main/java/com/zhpan/bannerview/indicator/IIndicator.java
  25. 0 63
      bannerview/src/main/java/com/zhpan/bannerview/indicator/IndicatorView.java
  26. 0 78
      bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/BaseDrawer.java
  27. 0 87
      bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/CircleDrawer.java
  28. 0 23
      bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/DashDrawer.java
  29. 0 27
      bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/DrawerFactory.java
  30. 0 46
      bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/DrawerProxy.java
  31. 0 20
      bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/IDrawer.java
  32. 0 108
      bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/RectDrawer.java
  33. 0 23
      bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/RoundRectDrawer.java
  34. 2 4
      bannerview/src/main/java/com/zhpan/bannerview/manager/AttributeController.java
  35. 14 19
      bannerview/src/main/java/com/zhpan/bannerview/manager/BannerOptions.java
  36. 0 177
      bannerview/src/main/java/com/zhpan/bannerview/manager/IndicatorOptions.java
  37. 0 10
      bannerview/src/main/java/com/zhpan/bannerview/utils/BannerUtils.java
  38. BIN
      image/pay_alipay.jpg
  39. BIN
      image/pay_wechat.png
  40. BIN
      image/slide_circle_normal.gif
  41. BIN
      image/slide_circle_smooth.gif
  42. BIN
      image/slide_circle_worm.gif
  43. BIN
      image/style_dash_normal.gif
  44. BIN
      image/style_dash_smooth.gif
  45. BIN
      image/style_dash_worm.gif
  46. BIN
      image/style_round_rect_normal.gif
  47. BIN
      image/style_round_rect_smooth.gif
  48. BIN
      image/style_round_rect_worm.gif

+ 25 - 20
README.md

@@ -17,7 +17,7 @@
 ![QRCode](https://github.com/zhpanvip/BannerViewPager/blob/master/image/qrcode.png)
 ![QRCode](https://github.com/zhpanvip/BannerViewPager/blob/master/image/qrcode.png)
 
 
 
 
-### 1.setPageStyle
+### 1.PageStyle
 
 
 [Sample Click Here](https://github.com/zhpanvip/BannerViewPager/blob/master/app/src/main/java/com/example/zhpan/circleviewpager/fragment/PageFragment.java)
 [Sample Click Here](https://github.com/zhpanvip/BannerViewPager/blob/master/app/src/main/java/com/example/zhpan/circleviewpager/fragment/PageFragment.java)
 
 
@@ -25,7 +25,11 @@
 |--|--|--|
 |--|--|--|
 | ![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi.gif) |![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi_scale.gif) |![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi_overlay.gif) |
 | ![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi.gif) |![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi_scale.gif) |![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi_overlay.gif) |
 
 
-### 2.setIndicatorStyle and setIndicatorSlideMode
+### 2.Indicator
+
+The IndicatorView was split from BannerViewPager,the new repo is [ViewPagerIndicator](https://github.com/zhpanvip/viewpagerindicator),Click the link to see more information about [ViewPagerIndicator](https://github.com/zhpanvip/viewpagerindicator)
+
+#### (1)setIndicatorStyle and setIndicatorSlideMode
 
 
 BannerViewPager supports three Indicator Styles and three Indicator Slide mode now. 
 BannerViewPager supports three Indicator Styles and three Indicator Slide mode now. 
 
 
@@ -33,11 +37,11 @@ BannerViewPager supports three Indicator Styles and three Indicator Slide mode n
 
 
 | Attrs | CIRCLE | DASH | ROUND_RECT |
 | Attrs | CIRCLE | DASH | ROUND_RECT |
 |--|--|--|--|
 |--|--|--|--|
-| NORMAL| ![CIRCLE_NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/slide_circle_normal.gif) | ![DASH_NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_dash_normal.gif) | ![ROUND_RECT_NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_round_rect_normal.gif) |
-| SMOOTH| ![CIRCLE_SMOOTH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/slide_circle_smooth.gif) | ![DASH_SMOOTH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_dash_smooth.gif) | ![ROUND_RECT_SMOOTH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_round_rect_smooth.gif) |
-| WORM| ![CIRCLE_WORM](https://github.com/zhpanvip/BannerViewPager/blob/master/image/slide_circle_worm.gif) | ![DASH_WORM](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_dash_worm.gif) | ![ROUND_WORM](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_round_rect_worm.gif) |
+| NORMAL| ![CIRCLE_NORMAL](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/slide_circle_normal.gif) | ![DASH_NORMAL](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_dash_normal.gif) | ![ROUND_RECT_NORMAL](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_round_rect_normal.gif) |
+| SMOOTH| ![CIRCLE_SMOOTH](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/slide_circle_smooth.gif) | ![DASH_SMOOTH](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_dash_smooth.gif) | ![ROUND_RECT_SMOOTH](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_round_rect_smooth.gif) |
+| WORM| ![CIRCLE_WORM](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/slide_circle_worm.gif) | ![DASH_WORM](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_dash_worm.gif) | ![ROUND_WORM](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_round_rect_worm.gif) |
 
 
-### 3.Custom Indicator
+#### (2)Custom Indicator
 
 
 It's also support to custom indicator style,just need extends BaseIndicatorView or implement the IIndicator and override methods, then you can draw Indicators for whatever you want.
 It's also support to custom indicator style,just need extends BaseIndicatorView or implement the IIndicator and override methods, then you can draw Indicators for whatever you want.
 
 
@@ -48,7 +52,7 @@ It's also support to custom indicator style,just need extends BaseIndicatorView
 | ![CIRCLE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custum.gif) | ![DASH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom2.gif) | ![NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom1.gif) |
 | ![CIRCLE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custum.gif) | ![DASH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom2.gif) | ![NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom1.gif) |
 
 
 
 
-### 4.setPageTransformerStyle
+### 3.PageTransformerStyle
 
 
 [Sample Click Here](https://github.com/zhpanvip/BannerViewPager/blob/master/app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.java)
 [Sample Click Here](https://github.com/zhpanvip/BannerViewPager/blob/master/app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.java)
 
 
@@ -72,12 +76,12 @@ It's also support to custom indicator style,just need extends BaseIndicatorView
 | BannerViewPager<T, VH> setIndicatorGravity(int gravity) | set indicator gravity |enum(CENTER、START、END) default value CENTER |
 | BannerViewPager<T, VH> setIndicatorGravity(int gravity) | set indicator gravity |enum(CENTER、START、END) default value CENTER |
 | BannerViewPager<T, VH> setIndicatorColor(int normalColor,int checkedColor) | set indicator color |normalColor:color of indicator dot not selected, default value  "#8C6C6D72", checkedColor:color of indicator selected default value is "#8C18171C" |
 | BannerViewPager<T, VH> setIndicatorColor(int normalColor,int checkedColor) | set indicator color |normalColor:color of indicator dot not selected, default value  "#8C6C6D72", checkedColor:color of indicator selected default value is "#8C18171C" |
 | BannerViewPager<T, VH> setIndicatorSlideMode(int slideMode)  | set indicator slide mode | enum(NORMAL;SMOOTH;WORM),default value NORMAL  |
 | BannerViewPager<T, VH> setIndicatorSlideMode(int slideMode)  | set indicator slide mode | enum(NORMAL;SMOOTH;WORM),default value NORMAL  |
-| BannerViewPager<T, VH> setIndicatorRadius(int radius) | set indicator dot radius | default value is 4dp|
-| BannerViewPager<T, VH> setIndicatorRadius(int normalRadius,int checkRadius)  |set indicator dot radius  |  normalRadius:normal radius of indicator dot,  checkedRadius:checked radius of indicator dot,default value is 4dp |
-| BannerViewPager<T, VH> setIndicatorWidth(int indicatorWidth) | set indicator dot width,if it's Circle indicator the parameter is diameter of circle | default value is 8dp|
-| BannerViewPager<T, VH> setIndicatorWidth(int normalWidth, int checkWidth) | set indicator dot width,if is circle style,the width is diameter of circle | default is 8dp |
+| BannerViewPager<T, VH> setIndicatorSliderRadius(int radius) | set indicator dot radius | default value is 4dp|
+| BannerViewPager<T, VH> setIndicatorSliderRadius(int normalRadius,int checkRadius)  |set indicator dot radius  |  normalRadius:normal radius of indicator dot,  checkedRadius:checked radius of indicator dot,default value is 4dp |
+| BannerViewPager<T, VH> setIndicatorSliderWidth(int indicatorWidth) | set indicator dot width,if it's Circle indicator the parameter is diameter of circle | default value is 8dp|
+| BannerViewPager<T, VH> setIndicatorSliderWidth(int normalWidth, int checkWidth) | set indicator dot width,if is circle style,the width is diameter of circle | default is 8dp |
 | BannerViewPager<T, VH> setIndicatorHeight(int indicatorHeight) | set indicator hight,it's only used when the indicator style is dash | default value is normalIndicatorWidth/2 |
 | BannerViewPager<T, VH> setIndicatorHeight(int indicatorHeight) | set indicator hight,it's only used when the indicator style is dash | default value is normalIndicatorWidth/2 |
-| BannerViewPager<T, VH> setIndicatorGap(int indicatorMargin) | set the gap of indicator dot| default value is indicator dot width(or the diameter of circle)|
+| BannerViewPager<T, VH> setIndicatorSliderGap(int indicatorMargin) | set the gap of indicator dot| default value is indicator dot width(or the diameter of circle)|
 | BannerViewPager<T, VH> setIndicatorView(IIndicator indicatorView) | set custom indicator|The custom indicator must extends BaseIndicatorView or implements IIndicator |
 | BannerViewPager<T, VH> setIndicatorView(IIndicator indicatorView) | set custom indicator|The custom indicator must extends BaseIndicatorView or implements IIndicator |
 | BannerViewPager<T, VH> setPageTransformerStyle(int style) | set transform style |  |
 | BannerViewPager<T, VH> setPageTransformerStyle(int style) | set transform style |  |
 | BannerViewPager<T, VH> setCurrentItem(int item) | Set the currently selected page. |  add in v2.3.5 |
 | BannerViewPager<T, VH> setCurrentItem(int item) | Set the currently selected page. |  add in v2.3.5 |
@@ -249,7 +253,7 @@ Java:
                 .setCanLoop(false)
                 .setCanLoop(false)
                 .setAutoPlay(true)
                 .setAutoPlay(true)
                 .setRoundCorner(getResources().getDimensionPixelOffset(R.dimen.dp_7))
                 .setRoundCorner(getResources().getDimensionPixelOffset(R.dimen.dp_7))
-                .setIndicatorColor(Color.parseColor("#935656"), Color.parseColor("#FF4C39"))
+                .setIndicatorSliderColor(Color.parseColor("#935656"), Color.parseColor("#FF4C39"))
                 .setIndicatorGravity(IndicatorGravity.END)
                 .setIndicatorGravity(IndicatorGravity.END)
                 .setScrollDuration(1000).setHolderCreator(NetViewHolder::new)
                 .setScrollDuration(1000).setHolderCreator(NetViewHolder::new)
                 .setOnPageClickListener(position -> {
                 .setOnPageClickListener(position -> {
@@ -390,19 +394,20 @@ public class FigureIndicatorView extends BaseIndicatorView {
  - [x] Fix issue #34 which Indicator smooth slide problem(2.6.1).
  - [x] Fix issue #34 which Indicator smooth slide problem(2.6.1).
  - [ ] Migrate to ViewPager2 (3.0.0)
  - [ ] Migrate to ViewPager2 (3.0.0)
 
 
-## Sponsor
+## FAQ
 
 
-**开源不易 随心赞赏**
+ **If you have any question regard to BannerViewPager, please scan the QR code and join the QQ group to communicate.**
 
 
-| Alipay | WeChat |
-|--|--|
-| ![Alipay](https://github.com/zhpanvip/BannerViewPager/blob/master/image/pay_alipay.jpg) |  ![WeChat](https://github.com/zhpanvip/BannerViewPager/blob/master/image/pay_wechat.png) |
+ ![QQ交流群60902509](https://github.com/zhpanvip/BannerViewPager/blob/master/image/qq_group.png)
 
 
 
 
-## If you have any question you can scan the QR code to join the QQ group to communicate.
+## <span id="Sponsor"> Sponsor </span>
 
 
- ![QQ交流群60902509](https://github.com/zhpanvip/BannerViewPager/blob/master/image/qq_group.png)
+**开源不易 随心赞赏**
 
 
+| Alipay | WeChat |
+|--|--|
+| ![Alipay](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/pay_alipay.jpg) |  ![WeChat](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/pay_wechat.png) |
 
 
 ##  More details
 ##  More details
 
 

+ 25 - 20
README_CN.md

@@ -19,7 +19,7 @@
 ![扫描下载Demo](https://github.com/zhpanvip/BannerViewPager/blob/master/image/qrcode.png)
 ![扫描下载Demo](https://github.com/zhpanvip/BannerViewPager/blob/master/image/qrcode.png)
 
 
 
 
-### 1.setPageStyle
+### 1.PageStyle
 
 
 [一屏多页Demo](https://github.com/zhpanvip/BannerViewPager/blob/master/app/src/main/java/com/example/zhpan/circleviewpager/fragment/PageFragment.java)
 [一屏多页Demo](https://github.com/zhpanvip/BannerViewPager/blob/master/app/src/main/java/com/example/zhpan/circleviewpager/fragment/PageFragment.java)
 
 
@@ -27,17 +27,21 @@
 |--|--|--|
 |--|--|--|
 | ![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi.gif) |![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi_scale.gif) |![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi_overlay.gif) |
 | ![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi.gif) |![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi_scale.gif) |![MULTI_PAGE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/page_style_multi_overlay.gif) |
 
 
-### 2.setIndicatorStyle 与 setIndicatorSlideMode
+### 2.Indicator 
+
+目前指示器已经从BannerViewPager中分离出来,现在单独为一个仓库,新的仓库地址为[ViewPagerIndicator](https://github.com/zhpanvip/viewpagerindicator),你可以点击连接了解更多关于[ViewPagerIndicator](https://github.com/zhpanvip/viewpagerindicator)的信息。
+
+#### (1)IndicatorStyle 与 IndicatorSlideMode
 
 
 BannerViewPager目前已支持三种IndicatorViewStyle,以及三种IndicatorSlideMode,分别如下:
 BannerViewPager目前已支持三种IndicatorViewStyle,以及三种IndicatorSlideMode,分别如下:
 
 
 | 属性 | CIRCLE | DASH | ROUND_RECT |
 | 属性 | CIRCLE | DASH | ROUND_RECT |
 |--|--|--|--|
 |--|--|--|--|
-| NORMAL| ![CIRCLE_NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/slide_circle_normal.gif) | ![DASH_NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_dash_normal.gif) | ![ROUND_RECT_NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_round_rect_normal.gif) |
-| SMOOTH| ![CIRCLE_SMOOTH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/slide_circle_smooth.gif) | ![DASH_SMOOTH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_dash_smooth.gif) | ![ROUND_RECT_SMOOTH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_round_rect_smooth.gif) |
-| WORM| ![CIRCLE_WORM](https://github.com/zhpanvip/BannerViewPager/blob/master/image/slide_circle_worm.gif) | ![DASH_WORM](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_dash_worm.gif) | ![ROUND_WORM](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_round_rect_worm.gif) |
+| NORMAL| ![CIRCLE_NORMAL](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/slide_circle_normal.gif) | ![DASH_NORMAL](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_dash_normal.gif) | ![ROUND_RECT_NORMAL](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_round_rect_normal.gif) |
+| SMOOTH| ![CIRCLE_SMOOTH](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/slide_circle_smooth.gif) | ![DASH_SMOOTH](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_dash_smooth.gif) | ![ROUND_RECT_SMOOTH](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_round_rect_smooth.gif) |
+| WORM| ![CIRCLE_WORM](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/slide_circle_worm.gif) | ![DASH_WORM](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_dash_worm.gif) | ![ROUND_WORM](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/style_round_rect_worm.gif) |
 
 
-### 3.Custom Indicator
+#### (2)Custom Indicator
 
 
 同时BannerViewPager还提供了自定义IndicatorView的功能。只要继承BaseIndicatorView或者实现IIndicator接口,并重写相应方法,就可以为所欲为的打造任意的Indicator了。
 同时BannerViewPager还提供了自定义IndicatorView的功能。只要继承BaseIndicatorView或者实现IIndicator接口,并重写相应方法,就可以为所欲为的打造任意的Indicator了。
 
 
@@ -48,7 +52,7 @@ BannerViewPager目前已支持三种IndicatorViewStyle,以及三种IndicatorSlid
 | ![CIRCLE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom.gif) | ![DASH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom1.gif) | ![NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom2.gif) |
 | ![CIRCLE](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom.gif) | ![DASH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom1.gif) | ![NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/style_custom2.gif) |
 
 
 
 
-### 4.setPageTransformerStyle
+### 3.PageTransformerStyle
 
 
 [TransformStyle Demo](https://github.com/zhpanvip/BannerViewPager/blob/master/app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.java)
 [TransformStyle Demo](https://github.com/zhpanvip/BannerViewPager/blob/master/app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.java)
 
 
@@ -73,12 +77,12 @@ BannerViewPager目前已支持三种IndicatorViewStyle,以及三种IndicatorSlid
 | BannerViewPager<T, VH> setIndicatorGravity(int gravity) | 指示器位置 |可选值(CENTER、START、END)默认值CENTER |
 | BannerViewPager<T, VH> setIndicatorGravity(int gravity) | 指示器位置 |可选值(CENTER、START、END)默认值CENTER |
 | BannerViewPager<T, VH> setIndicatorColor(int normalColor,int checkedColor) | 指示器圆点颜色 |normalColor:未选中时颜色默认"#8C6C6D72", checkedColor:选中时颜色 默认"#8C18171C" |
 | BannerViewPager<T, VH> setIndicatorColor(int normalColor,int checkedColor) | 指示器圆点颜色 |normalColor:未选中时颜色默认"#8C6C6D72", checkedColor:选中时颜色 默认"#8C18171C" |
 | BannerViewPager<T, VH> setIndicatorSlideMode(int slideMode)  | 设置Indicator滑动模式 | 可选(NORMAL、SMOOTH、WORM),默认值NORMAL  |
 | BannerViewPager<T, VH> setIndicatorSlideMode(int slideMode)  | 设置Indicator滑动模式 | 可选(NORMAL、SMOOTH、WORM),默认值NORMAL  |
-| BannerViewPager<T, VH> setIndicatorRadius(int radius) | 设置指示器圆点半径 | 默认值4dp|
-| BannerViewPager<T, VH> setIndicatorRadius(int normalRadius,int checkRadius)  |设置指示器圆点半径  |  normalRadius:未选中时半径  checkedRadius:选中时的半径,默认值4dp |
-| BannerViewPager<T, VH> setIndicatorWidth(int indicatorWidth) | 设置指示器宽度,如果是圆形指示器,则为直径 |  默认值8dp|
-| BannerViewPager<T, VH> setIndicatorWidth(int normalWidth, int checkWidth) | 设置指示器宽度,如果是圆形指示器,则为直径 | 默认值8dp |
+| BannerViewPager<T, VH> setIndicatorSliderRadius(int radius) | 设置指示器圆点半径 | 默认值4dp|
+| BannerViewPager<T, VH> setIndicatorSliderRadius(int normalRadius,int checkRadius)  |设置指示器圆点半径  |  normalRadius:未选中时半径  checkedRadius:选中时的半径,默认值4dp |
+| BannerViewPager<T, VH> setIndicatorSliderWidth(int indicatorWidth) | 设置指示器宽度,如果是圆形指示器,则为直径 |  默认值8dp|
+| BannerViewPager<T, VH> setIndicatorSliderWidth(int normalWidth, int checkWidth) | 设置指示器宽度,如果是圆形指示器,则为直径 | 默认值8dp |
 | BannerViewPager<T, VH> setIndicatorHeight(int indicatorHeight) | 设置指示器高度,仅在Indicator样式为DASH时有效 | 默认值normalIndicatorWidth/2 |
 | BannerViewPager<T, VH> setIndicatorHeight(int indicatorHeight) | 设置指示器高度,仅在Indicator样式为DASH时有效 | 默认值normalIndicatorWidth/2 |
-| BannerViewPager<T, VH> setIndicatorGap(int indicatorMargin) | 指示器圆点间距| 默认值为指示器宽度(或者是圆的直径)|
+| BannerViewPager<T, VH> setIndicatorSliderGap(int indicatorMargin) | 指示器圆点间距| 默认值为指示器宽度(或者是圆的直径)|
 | BannerViewPager<T, VH> setIndicatorView(IIndicator indicatorView) | 设置自定义指示器|自定义View需要继承BaseIndicatorView或实现IIndicator |
 | BannerViewPager<T, VH> setIndicatorView(IIndicator indicatorView) | 设置自定义指示器|自定义View需要继承BaseIndicatorView或实现IIndicator |
 | BannerViewPager<T, VH> setPageTransformerStyle(int style) | 设置页面Transformer内置样式 |  |
 | BannerViewPager<T, VH> setPageTransformerStyle(int style) | 设置页面Transformer内置样式 |  |
 | BannerViewPager<T, VH> setCurrentItem(int item) | Set the currently selected page. | 2.3.5新增 |
 | BannerViewPager<T, VH> setCurrentItem(int item) | Set the currently selected page. | 2.3.5新增 |
@@ -249,7 +253,7 @@ Java:
                 .setCanLoop(false)
                 .setCanLoop(false)
                 .setAutoPlay(true)
                 .setAutoPlay(true)
                 .setRoundCorner(getResources().getDimensionPixelOffset(R.dimen.dp_7))
                 .setRoundCorner(getResources().getDimensionPixelOffset(R.dimen.dp_7))
-                .setIndicatorColor(Color.parseColor("#935656"), Color.parseColor("#FF4C39"))
+                .setIndicatorSliderColor(Color.parseColor("#935656"), Color.parseColor("#FF4C39"))
                 .setIndicatorGravity(IndicatorGravity.END)
                 .setIndicatorGravity(IndicatorGravity.END)
                 .setScrollDuration(1000).setHolderCreator(NetViewHolder::new)
                 .setScrollDuration(1000).setHolderCreator(NetViewHolder::new)
                 .setOnPageClickListener(position -> {
                 .setOnPageClickListener(position -> {
@@ -389,18 +393,19 @@ public class FigureIndicatorView extends BaseIndicatorView {
  - [x] 修复 issue #34 Indicator 在Smooth模式下存在的问题 (2.6.1).
  - [x] 修复 issue #34 Indicator 在Smooth模式下存在的问题 (2.6.1).
  - [ ] ViewPager更换为ViewPager2 (3.0.0)
  - [ ] ViewPager更换为ViewPager2 (3.0.0)
 
 
-## Sponsor
+## 有问题可以扫码加QQ群交流
 
 
-**开源不易 随心赞赏**
+ ![QQ交流群60902509](https://github.com/zhpanvip/BannerViewPager/blob/master/image/qq_group.png)
 
 
-| 支付宝 | 微信支付 |
-|--|--|
-| ![NORMAL](https://github.com/zhpanvip/BannerViewPager/blob/master/image/pay_alipay.jpb) |  ![SMOOTH](https://github.com/zhpanvip/BannerViewPager/blob/master/image/pay_wechat.png) |
 
 
 
 
-## 有问题可以扫码加QQ群交流
+## <span id="Sponsor"> Sponsor </span>
 
 
- ![QQ交流群60902509](https://github.com/zhpanvip/BannerViewPager/blob/master/image/qq_group.png)
+**开源不易 随心赞赏**
+
+| 支付宝 | 微信支付 |
+|--|--|
+| ![NORMAL](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/pay_alipay.jpb) |  ![SMOOTH](https://github.com/zhpanvip/viewpagerindicator/blob/master/image/pay_wechat.png) |
 
 
 
 
 ##  更多详情请参看以下链接
 ##  更多详情请参看以下链接

+ 1 - 1
app/build.gradle

@@ -5,7 +5,7 @@ android {
     compileSdkVersion 28
     compileSdkVersion 28
     buildToolsVersion '28.0.3'
     buildToolsVersion '28.0.3'
     defaultConfig {
     defaultConfig {
-        applicationId "com.example.zhpan.circleviewpager"
+        applicationId "com.example.zhpan.bannerviewpager"
         minSdkVersion 19
         minSdkVersion 19
         targetSdkVersion 28
         targetSdkVersion 28
         versionCode 1
         versionCode 1

BIN
app/release/app-release.apk


+ 0 - 2
app/src/main/java/com/example/zhpan/circleviewpager/activity/PhotoViewActivity.kt

@@ -6,8 +6,6 @@ import android.os.Bundle
 import com.example.zhpan.circleviewpager.R
 import com.example.zhpan.circleviewpager.R
 import com.example.zhpan.circleviewpager.viewholder.PhotoViewHolder
 import com.example.zhpan.circleviewpager.viewholder.PhotoViewHolder
 import com.zhpan.bannerview.BannerViewPager
 import com.zhpan.bannerview.BannerViewPager
-import com.zhpan.bannerview.constants.IndicatorSlideMode
-import com.zhpan.bannerview.holder.HolderCreator
 
 
 class PhotoViewActivity : BaseDataActivity() {
 class PhotoViewActivity : BaseDataActivity() {
 
 

+ 4 - 4
app/src/main/java/com/example/zhpan/circleviewpager/activity/WelcomeActivity.kt

@@ -14,10 +14,10 @@ import com.example.zhpan.circleviewpager.bean.CustomBean
 import com.example.zhpan.circleviewpager.viewholder.CustomPageViewHolder
 import com.example.zhpan.circleviewpager.viewholder.CustomPageViewHolder
 import com.zhpan.bannerview.BannerViewPager
 import com.zhpan.bannerview.BannerViewPager
 import com.zhpan.bannerview.adapter.OnPageChangeListenerAdapter
 import com.zhpan.bannerview.adapter.OnPageChangeListenerAdapter
-import com.zhpan.bannerview.constants.IndicatorSlideMode
 import com.zhpan.bannerview.constants.TransformerStyle
 import com.zhpan.bannerview.constants.TransformerStyle
 import com.zhpan.bannerview.holder.HolderCreator
 import com.zhpan.bannerview.holder.HolderCreator
 import com.zhpan.bannerview.utils.BannerUtils
 import com.zhpan.bannerview.utils.BannerUtils
+import com.zhpan.indicator.enums.IndicatorSlideMode
 
 
 import java.util.ArrayList
 import java.util.ArrayList
 import java.util.Random
 import java.util.Random
@@ -59,11 +59,11 @@ class WelcomeActivity : BaseDataActivity(), HolderCreator<CustomPageViewHolder>
                 .setPageTransformerStyle(transforms[Random().nextInt(6)])
                 .setPageTransformerStyle(transforms[Random().nextInt(6)])
                 .setScrollDuration(ANIMATION_DURATION)
                 .setScrollDuration(ANIMATION_DURATION)
                 .setIndicatorMargin(0, 0, 0, resources.getDimension(R.dimen.dp_100).toInt())
                 .setIndicatorMargin(0, 0, 0, resources.getDimension(R.dimen.dp_100).toInt())
-                .setIndicatorGap(resources.getDimension(R.dimen.dp_10).toInt())
-                .setIndicatorColor(ContextCompat.getColor(this, R.color.white),
+                .setIndicatorSliderGap(resources.getDimension(R.dimen.dp_10).toInt())
+                .setIndicatorSliderColor(ContextCompat.getColor(this, R.color.white),
                         ContextCompat.getColor(this, R.color.white_alpha_75))
                         ContextCompat.getColor(this, R.color.white_alpha_75))
                 .setIndicatorSlideMode(IndicatorSlideMode.SMOOTH)
                 .setIndicatorSlideMode(IndicatorSlideMode.SMOOTH)
-                .setIndicatorRadius(resources.getDimension(R.dimen.dp_3).toInt(), resources.getDimension(R.dimen.dp_4_5).toInt())
+                .setIndicatorSliderRadius(resources.getDimension(R.dimen.dp_3).toInt(), resources.getDimension(R.dimen.dp_4_5).toInt())
                 .setOnPageChangeListener(object : OnPageChangeListenerAdapter() {
                 .setOnPageChangeListener(object : OnPageChangeListenerAdapter() {
                     override fun onPageSelected(position: Int) {
                     override fun onPageSelected(position: Int) {
                         BannerUtils.log("position:$position")
                         BannerUtils.log("position:$position")

+ 4 - 4
app/src/main/java/com/example/zhpan/circleviewpager/fragment/HomeFragment.java

@@ -22,11 +22,11 @@ import com.scwang.smartrefresh.header.MaterialHeader;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.zhpan.bannerview.BannerViewPager;
 import com.zhpan.bannerview.BannerViewPager;
 import com.zhpan.bannerview.adapter.OnPageChangeListenerAdapter;
 import com.zhpan.bannerview.adapter.OnPageChangeListenerAdapter;
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
-import com.zhpan.bannerview.indicator.IndicatorView;
 import com.zhpan.idea.net.common.ResponseObserver;
 import com.zhpan.idea.net.common.ResponseObserver;
 import com.zhpan.idea.utils.LogUtils;
 import com.zhpan.idea.utils.LogUtils;
 import com.zhpan.idea.utils.RxUtil;
 import com.zhpan.idea.utils.RxUtil;
+import com.zhpan.indicator.IndicatorView;
+import com.zhpan.indicator.enums.IndicatorSlideMode;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
@@ -140,9 +140,9 @@ public class HomeFragment extends BaseFragment {
                 .setIndicatorSlideMode(IndicatorSlideMode.WORM)
                 .setIndicatorSlideMode(IndicatorSlideMode.WORM)
                 .setInterval(5000)
                 .setInterval(5000)
                 .setScrollDuration(1200)
                 .setScrollDuration(1200)
-                .setIndicatorRadius(getResources().getDimensionPixelSize(R.dimen.dp_3))
+                .setIndicatorSliderRadius(getResources().getDimensionPixelSize(R.dimen.dp_3))
                 .setIndicatorView(mIndicatorView)// 这里为了设置标题故用了自定义Indicator,如果无需标题则没必要添加此行代码
                 .setIndicatorView(mIndicatorView)// 这里为了设置标题故用了自定义Indicator,如果无需标题则没必要添加此行代码
-                .setIndicatorColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
+                .setIndicatorSliderColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
                 .setHolderCreator(NetViewHolder::new)
                 .setHolderCreator(NetViewHolder::new)
                 .setOnPageChangeListener(new OnPageChangeListenerAdapter() {
                 .setOnPageChangeListener(new OnPageChangeListenerAdapter() {
                     @Override
                     @Override

+ 16 - 16
app/src/main/java/com/example/zhpan/circleviewpager/fragment/IndicatorFragment.java

@@ -8,12 +8,12 @@ import android.widget.RadioGroup;
 import com.example.zhpan.circleviewpager.R;
 import com.example.zhpan.circleviewpager.R;
 import com.example.zhpan.circleviewpager.viewholder.ImageResourceViewHolder;
 import com.example.zhpan.circleviewpager.viewholder.ImageResourceViewHolder;
 import com.zhpan.bannerview.BannerViewPager;
 import com.zhpan.bannerview.BannerViewPager;
-import com.zhpan.bannerview.annotation.AIndicatorSlideMode;
 import com.zhpan.bannerview.constants.IndicatorGravity;
 import com.zhpan.bannerview.constants.IndicatorGravity;
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
-import com.zhpan.bannerview.constants.IndicatorStyle;
 import com.zhpan.bannerview.utils.BannerUtils;
 import com.zhpan.bannerview.utils.BannerUtils;
 import com.zhpan.idea.utils.ToastUtils;
 import com.zhpan.idea.utils.ToastUtils;
+import com.zhpan.indicator.annotation.AIndicatorSlideMode;
+import com.zhpan.indicator.enums.IndicatorSlideMode;
+import com.zhpan.indicator.enums.IndicatorStyle;
 
 
 /**
 /**
  * Created by zhpan on 2018/7/24.
  * Created by zhpan on 2018/7/24.
@@ -60,7 +60,7 @@ public class IndicatorFragment extends BaseFragment {
         mRadioGroupStyle = view.findViewById(R.id.rg_indicator_style);
         mRadioGroupStyle = view.findViewById(R.id.rg_indicator_style);
         mRadioGroupMode = view.findViewById(R.id.rg_slide_mode);
         mRadioGroupMode = view.findViewById(R.id.rg_slide_mode);
         mViewPager = view.findViewById(R.id.banner_view);
         mViewPager = view.findViewById(R.id.banner_view);
-        mViewPager.setIndicatorGap(BannerUtils.dp2px(6))
+        mViewPager.setIndicatorSliderGap(BannerUtils.dp2px(6))
                 .setRoundCorner(BannerUtils.dp2px(6))
                 .setRoundCorner(BannerUtils.dp2px(6))
                 .setHolderCreator(() -> new ImageResourceViewHolder(0));
                 .setHolderCreator(() -> new ImageResourceViewHolder(0));
         initRadioGroup();
         initRadioGroup();
@@ -109,10 +109,10 @@ public class IndicatorFragment extends BaseFragment {
     private void setupTMallIndicator() {
     private void setupTMallIndicator() {
         mViewPager
         mViewPager
                 .setIndicatorStyle(IndicatorStyle.DASH)
                 .setIndicatorStyle(IndicatorStyle.DASH)
-                .setIndicatorGap(0)
+                .setIndicatorSliderGap(0)
                 .setIndicatorSlideMode(mSlideMode)
                 .setIndicatorSlideMode(mSlideMode)
-                .setIndicatorColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
-                .setIndicatorWidth(getResources().getDimensionPixelOffset(R.dimen.dp_15))
+                .setIndicatorSliderColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
+                .setIndicatorSliderWidth(getResources().getDimensionPixelOffset(R.dimen.dp_15))
                 .setIndicatorHeight(getResources().getDimensionPixelOffset(R.dimen.dp_3))
                 .setIndicatorHeight(getResources().getDimensionPixelOffset(R.dimen.dp_3))
                 .create(getMDrawableList());
                 .create(getMDrawableList());
     }
     }
@@ -122,25 +122,25 @@ public class IndicatorFragment extends BaseFragment {
         int normalWidth = getNormalWidth();
         int normalWidth = getNormalWidth();
         mViewPager.setIndicatorStyle(IndicatorStyle.ROUND_RECT)
         mViewPager.setIndicatorStyle(IndicatorStyle.ROUND_RECT)
                 .setIndicatorGravity(IndicatorGravity.CENTER)
                 .setIndicatorGravity(IndicatorGravity.CENTER)
-                .setIndicatorGap(BannerUtils.dp2px(4))
+                .setIndicatorSliderGap(BannerUtils.dp2px(4))
                 .setPageMargin(0)
                 .setPageMargin(0)
                 .setIndicatorSlideMode(mSlideMode)
                 .setIndicatorSlideMode(mSlideMode)
                 .setIndicatorHeight(getResources().getDimensionPixelOffset(R.dimen.dp_4))
                 .setIndicatorHeight(getResources().getDimensionPixelOffset(R.dimen.dp_4))
                 .setOnPageClickListener(position -> ToastUtils.show("position:" + position))
                 .setOnPageClickListener(position -> ToastUtils.show("position:" + position))
-                .setIndicatorColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
-                .setIndicatorWidth(normalWidth, checkedWidth).create(getMDrawableList());
+                .setIndicatorSliderColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
+                .setIndicatorSliderWidth(normalWidth, checkedWidth).create(getMDrawableList());
     }
     }
 
 
     private void setupCircleIndicator() {
     private void setupCircleIndicator() {
         mViewPager.setIndicatorStyle(IndicatorStyle.CIRCLE)
         mViewPager.setIndicatorStyle(IndicatorStyle.CIRCLE)
                 .setIndicatorSlideMode(mSlideMode)
                 .setIndicatorSlideMode(mSlideMode)
                 .setIndicatorGravity(IndicatorGravity.CENTER)
                 .setIndicatorGravity(IndicatorGravity.CENTER)
-                .setIndicatorGap(getResources().getDimensionPixelOffset(R.dimen.dp_6))
+                .setIndicatorSliderGap(getResources().getDimensionPixelOffset(R.dimen.dp_6))
                 .setIndicatorHeight(getResources().getDimensionPixelOffset(R.dimen.dp_4))
                 .setIndicatorHeight(getResources().getDimensionPixelOffset(R.dimen.dp_4))
                 .setPageMargin(0)
                 .setPageMargin(0)
                 .setOnPageClickListener(position -> ToastUtils.show("position:" + position))
                 .setOnPageClickListener(position -> ToastUtils.show("position:" + position))
-                .setIndicatorColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
-                .setIndicatorRadius(getResources().getDimensionPixelOffset(R.dimen.dp_4)).create(getMDrawableList());
+                .setIndicatorSliderColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
+                .setIndicatorSliderRadius(getResources().getDimensionPixelOffset(R.dimen.dp_4)).create(getMDrawableList());
     }
     }
 
 
     private void setupDashIndicator() {
     private void setupDashIndicator() {
@@ -150,10 +150,10 @@ public class IndicatorFragment extends BaseFragment {
                 .setIndicatorHeight(getResources().getDimensionPixelOffset(R.dimen.dp_3))
                 .setIndicatorHeight(getResources().getDimensionPixelOffset(R.dimen.dp_3))
                 .setIndicatorGravity(IndicatorGravity.CENTER)
                 .setIndicatorGravity(IndicatorGravity.CENTER)
                 .setIndicatorSlideMode(mSlideMode)
                 .setIndicatorSlideMode(mSlideMode)
-                .setIndicatorGap(getResources().getDimensionPixelOffset(R.dimen.dp_3))
+                .setIndicatorSliderGap(getResources().getDimensionPixelOffset(R.dimen.dp_3))
                 .setPageMargin(0)
                 .setPageMargin(0)
-                .setIndicatorWidth(normalWidth, checkedWidth)
-                .setIndicatorColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
+                .setIndicatorSliderWidth(normalWidth, checkedWidth)
+                .setIndicatorSliderColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
                 .create(getMDrawableList());
                 .create(getMDrawableList());
     }
     }
 
 

+ 5 - 5
app/src/main/java/com/example/zhpan/circleviewpager/fragment/OthersFragment.java

@@ -14,11 +14,11 @@ import com.example.zhpan.circleviewpager.view.FigureIndicatorView;
 import com.example.zhpan.circleviewpager.viewholder.ImageResourceViewHolder;
 import com.example.zhpan.circleviewpager.viewholder.ImageResourceViewHolder;
 import com.zhpan.bannerview.BannerViewPager;
 import com.zhpan.bannerview.BannerViewPager;
 import com.zhpan.bannerview.constants.IndicatorGravity;
 import com.zhpan.bannerview.constants.IndicatorGravity;
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
-import com.zhpan.bannerview.indicator.IIndicator;
-import com.zhpan.bannerview.indicator.IndicatorView;
 import com.zhpan.bannerview.utils.BannerUtils;
 import com.zhpan.bannerview.utils.BannerUtils;
 import com.zhpan.idea.utils.ToastUtils;
 import com.zhpan.idea.utils.ToastUtils;
+import com.zhpan.indicator.IndicatorView;
+import com.zhpan.indicator.base.IIndicator;
+import com.zhpan.indicator.enums.IndicatorSlideMode;
 
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Field;
 import java.util.Random;
 import java.util.Random;
@@ -68,10 +68,10 @@ public class OthersFragment extends BaseFragment implements View.OnClickListener
         mIndicatorView = view.findViewById(R.id.indicator_view);
         mIndicatorView = view.findViewById(R.id.indicator_view);
         view.findViewById(R.id.tv_photo_view).setOnClickListener(this);
         view.findViewById(R.id.tv_photo_view).setOnClickListener(this);
         view.findViewById(R.id.btn_refresh).setOnClickListener(v -> updateData());
         view.findViewById(R.id.btn_refresh).setOnClickListener(v -> updateData());
-        mViewPager.setIndicatorGap(BannerUtils.dp2px(6))
+        mViewPager.setIndicatorSliderGap(BannerUtils.dp2px(6))
                 .setRoundCorner(BannerUtils.dp2px(6))
                 .setRoundCorner(BannerUtils.dp2px(6))
                 .setOnPageClickListener(position -> ToastUtils.show("Position:" + position))
                 .setOnPageClickListener(position -> ToastUtils.show("Position:" + position))
-                .setIndicatorColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
+                .setIndicatorSliderColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
                 .setHolderCreator(() -> new ImageResourceViewHolder(0));
                 .setHolderCreator(() -> new ImageResourceViewHolder(0));
         initRadioGroup();
         initRadioGroup();
     }
     }

+ 4 - 4
app/src/main/java/com/example/zhpan/circleviewpager/fragment/PageFragment.java

@@ -9,10 +9,10 @@ import com.example.zhpan.circleviewpager.R;
 import com.example.zhpan.circleviewpager.viewholder.ImageResourceViewHolder;
 import com.example.zhpan.circleviewpager.viewholder.ImageResourceViewHolder;
 import com.zhpan.bannerview.BannerViewPager;
 import com.zhpan.bannerview.BannerViewPager;
 import com.zhpan.bannerview.annotation.APageStyle;
 import com.zhpan.bannerview.annotation.APageStyle;
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
 import com.zhpan.bannerview.constants.PageStyle;
 import com.zhpan.bannerview.constants.PageStyle;
 import com.zhpan.bannerview.utils.BannerUtils;
 import com.zhpan.bannerview.utils.BannerUtils;
 import com.zhpan.idea.utils.ToastUtils;
 import com.zhpan.idea.utils.ToastUtils;
+import com.zhpan.indicator.enums.IndicatorSlideMode;
 
 
 /**
 /**
  * Created by zhpan on 2018/7/24.
  * Created by zhpan on 2018/7/24.
@@ -57,8 +57,8 @@ public class PageFragment extends BaseFragment {
         mViewPager
         mViewPager
                 .setIndicatorSlideMode(IndicatorSlideMode.NORMAL)
                 .setIndicatorSlideMode(IndicatorSlideMode.NORMAL)
                 .setHolderCreator(() -> new ImageResourceViewHolder(getResources().getDimensionPixelOffset(R.dimen.dp_5)))
                 .setHolderCreator(() -> new ImageResourceViewHolder(getResources().getDimensionPixelOffset(R.dimen.dp_5)))
-                .setIndicatorColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
-                .setIndicatorRadius(getResources().getDimensionPixelOffset(R.dimen.dp_4),getResources().getDimensionPixelOffset(R.dimen.dp_5))
+                .setIndicatorSliderColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
+                .setIndicatorSliderRadius(getResources().getDimensionPixelOffset(R.dimen.dp_4),getResources().getDimensionPixelOffset(R.dimen.dp_5))
                 .setOnPageClickListener(position -> ToastUtils.show("position:" + position))
                 .setOnPageClickListener(position -> ToastUtils.show("position:" + position))
                 .setInterval(5000);
                 .setInterval(5000);
         initRadioGroup();
         initRadioGroup();
@@ -105,7 +105,7 @@ public class PageFragment extends BaseFragment {
                 .setRevealWidth(BannerUtils.dp2px(0))
                 .setRevealWidth(BannerUtils.dp2px(0))
                 .setPageStyle(PageStyle.MULTI_PAGE)
                 .setPageStyle(PageStyle.MULTI_PAGE)
                 .setHolderCreator(() -> new ImageResourceViewHolder(getResources().getDimensionPixelOffset(R.dimen.dp_5)))
                 .setHolderCreator(() -> new ImageResourceViewHolder(getResources().getDimensionPixelOffset(R.dimen.dp_5)))
-                .setIndicatorColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
+                .setIndicatorSliderColor(getColor(R.color.red_normal_color), getColor(R.color.red_checked_color))
                 .setOnPageClickListener(position -> ToastUtils.show("position:" + position))
                 .setOnPageClickListener(position -> ToastUtils.show("position:" + position))
                 .setInterval(5000).create(getMDrawableList());
                 .setInterval(5000).create(getMDrawableList());
     }
     }

+ 2 - 1
app/src/main/java/com/example/zhpan/circleviewpager/view/DrawableIndicator.java

@@ -14,7 +14,8 @@ import androidx.annotation.Nullable;
 import androidx.appcompat.widget.AppCompatDrawableManager;
 import androidx.appcompat.widget.AppCompatDrawableManager;
 import androidx.core.graphics.drawable.DrawableCompat;
 import androidx.core.graphics.drawable.DrawableCompat;
 
 
-import com.zhpan.bannerview.indicator.BaseIndicatorView;
+import com.zhpan.indicator.base.BaseIndicatorView;
+
 
 
 /**
 /**
  * @ author : zhouweibin
  * @ author : zhouweibin

+ 3 - 1
app/src/main/java/com/example/zhpan/circleviewpager/view/FigureIndicatorView.java

@@ -9,8 +9,8 @@ import android.util.AttributeSet;
 import androidx.annotation.ColorInt;
 import androidx.annotation.ColorInt;
 import androidx.annotation.Nullable;
 import androidx.annotation.Nullable;
 
 
-import com.zhpan.bannerview.indicator.BaseIndicatorView;
 import com.zhpan.bannerview.utils.BannerUtils;
 import com.zhpan.bannerview.utils.BannerUtils;
+import com.zhpan.indicator.base.BaseIndicatorView;
 
 
 /**
 /**
  * <pre>
  * <pre>
@@ -28,6 +28,8 @@ public class FigureIndicatorView extends BaseIndicatorView {
 
 
     private int textSize = BannerUtils.dp2px(13);
     private int textSize = BannerUtils.dp2px(13);
 
 
+    private Paint mPaint;
+
     public FigureIndicatorView(Context context) {
     public FigureIndicatorView(Context context) {
         this(context, null);
         this(context, null);
     }
     }

+ 93 - 87
app/src/main/res/layout/fragment_others.xml

@@ -1,107 +1,113 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:layout_height="match_parent">
 
 
-    <com.zhpan.bannerview.BannerViewPager
-        android:id="@+id/banner_view"
+    <RelativeLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="@dimen/dp_180"
-        android:layout_margin="@dimen/dp_10"
-        app:bvp_indicator_visibility="visible"
-        app:bvp_round_corner="@dimen/dp_8" />
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
 
-    <com.zhpan.bannerview.indicator.IndicatorView
-        android:id="@+id/indicator_view"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_below="@id/banner_view"
-        android:layout_centerHorizontal="true" />
+        <com.zhpan.bannerview.BannerViewPager
+            android:id="@+id/banner_view"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_180"
+            android:layout_margin="@dimen/dp_10"
+            app:bvp_indicator_visibility="visible"
+            app:bvp_round_corner="@dimen/dp_8" />
 
 
-    <TextView
-        android:id="@+id/tv_page_style"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_below="@id/indicator_view"
-        android:layout_marginStart="@dimen/dp_10"
-        android:layout_marginTop="@dimen/dp_10"
-        android:text="@string/custom_style"
-        android:textColor="#000000"
-        android:textSize="@dimen/sp_18"
-        android:textStyle="bold" />
-
-    <RadioGroup
-        android:id="@+id/rg_indicator_style"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_below="@id/tv_page_style"
-        android:orientation="vertical"
-        android:padding="@dimen/dp_15">
-
-        <RadioButton
-            android:id="@+id/rb_indicator_below"
+        <com.zhpan.indicator.IndicatorView
+            android:id="@+id/indicator_view"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginEnd="@dimen/dp_15"
-            android:layout_marginBottom="@dimen/dp_10"
-            android:text="Indicator below of Banner"
-            android:textSize="@dimen/sp_16" />
+            android:layout_below="@id/banner_view"
+            android:layout_centerHorizontal="true" />
 
 
-        <RadioButton
-            android:id="@+id/rb_dash"
+        <TextView
+            android:id="@+id/tv_page_style"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginEnd="@dimen/dp_15"
-            android:layout_marginBottom="@dimen/dp_10"
-            android:text="Custom Indicator"
-            android:textSize="@dimen/sp_16" />
+            android:layout_below="@id/indicator_view"
+            android:layout_marginStart="@dimen/dp_10"
+            android:layout_marginTop="@dimen/dp_10"
+            android:text="@string/custom_style"
+            android:textColor="#000000"
+            android:textSize="@dimen/sp_18"
+            android:textStyle="bold" />
 
 
-        <RadioButton
-            android:id="@+id/rb_drawable"
-            android:layout_width="wrap_content"
+        <RadioGroup
+            android:id="@+id/rg_indicator_style"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginEnd="15dp"
-            android:layout_marginBottom="@dimen/dp_10"
-            android:text="Drawable Indicator(BitmapDrawable)"
-            android:textSize="@dimen/sp_16" />
+            android:layout_below="@id/tv_page_style"
+            android:orientation="vertical"
+            android:padding="@dimen/dp_15">
 
 
-        <RadioButton
-            android:id="@+id/rb_vector_drawable"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginEnd="15dp"
-            android:layout_marginBottom="@dimen/dp_10"
-            android:text="Drawable Indicator(VectorDrawable)"
-            android:textSize="@dimen/sp_16" />
+            <RadioButton
+                android:id="@+id/rb_indicator_below"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="@dimen/dp_15"
+                android:layout_marginBottom="@dimen/dp_10"
+                android:text="Indicator below of Banner"
+                android:textSize="@dimen/sp_16" />
 
 
-    </RadioGroup>
+            <RadioButton
+                android:id="@+id/rb_dash"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="@dimen/dp_15"
+                android:layout_marginBottom="@dimen/dp_10"
+                android:text="Custom Indicator"
+                android:textSize="@dimen/sp_16" />
 
 
-    <TextView
-        android:id="@+id/tv_photo_view"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/dp_45"
-        android:layout_below="@id/rg_indicator_style"
-        android:background="@color/white"
-        android:gravity="center"
-        android:onClick="onClick"
-        android:text="@string/wrapper_photo_view"
-        android:textColor="#000000"
-        android:textSize="@dimen/sp_16" />
+            <RadioButton
+                android:id="@+id/rb_drawable"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="15dp"
+                android:layout_marginBottom="@dimen/dp_10"
+                android:text="Drawable Indicator(BitmapDrawable)"
+                android:textSize="@dimen/sp_16" />
+
+            <RadioButton
+                android:id="@+id/rb_vector_drawable"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginEnd="15dp"
+                android:layout_marginBottom="@dimen/dp_10"
+                android:text="Drawable Indicator(VectorDrawable)"
+                android:textSize="@dimen/sp_16" />
+
+        </RadioGroup>
+
+        <TextView
+            android:id="@+id/btn_refresh"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_45"
+            android:layout_below="@id/rg_indicator_style"
+            android:layout_centerHorizontal="true"
+            android:background="@color/white"
+            android:gravity="center"
+            android:text="Refresh"
+            android:textColor="#000000"
+            android:textSize="@dimen/sp_16" />
+
+        <TextView
+            android:id="@+id/tv_photo_view"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/dp_45"
+            android:layout_below="@id/btn_refresh"
+            android:background="@color/white"
+            android:gravity="center"
+            android:layout_marginTop="@dimen/dp_10"
+            android:onClick="onClick"
+            android:text="@string/wrapper_photo_view"
+            android:textColor="#000000"
+            android:textSize="@dimen/sp_16" />
 
 
-    <TextView
-        android:id="@+id/btn_refresh"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/dp_45"
-        android:layout_below="@id/tv_photo_view"
-        android:layout_centerHorizontal="true"
-        android:background="@color/white"
-        android:gravity="center"
-        android:layout_marginTop="@dimen/dp_10"
-        android:text="Refresh"
-        android:textColor="#000000"
-        android:textSize="@dimen/sp_16" />
 
 
 
 
-</RelativeLayout>
+    </RelativeLayout>
+</androidx.core.widget.NestedScrollView>

+ 1 - 1
app/src/main/res/layout/item_header_view.xml

@@ -29,7 +29,7 @@
             android:textSize="@dimen/sp_14"
             android:textSize="@dimen/sp_14"
             tools:text="This is Title" />
             tools:text="This is Title" />
 
 
-        <com.zhpan.bannerview.indicator.IndicatorView
+        <com.zhpan.indicator.IndicatorView
             android:id="@+id/indicator_view"
             android:id="@+id/indicator_view"
             android:layout_width="wrap_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"

+ 2 - 1
bannerview/build.gradle

@@ -29,7 +29,8 @@ dependencies {
     testImplementation 'junit:junit:4.12'
     testImplementation 'junit:junit:4.12'
     androidTestImplementation 'androidx.test:runner:1.2.0'
     androidTestImplementation 'androidx.test:runner:1.2.0'
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
     androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
-    implementation 'androidx.appcompat:appcompat:1.0.2'
+    implementation 'androidx.appcompat:appcompat:1.1.0'
+    api 'com.github.zhpanvip:viewpagerindicator:1.0.0'
 }
 }
 
 
 version = "2.6.4"
 version = "2.6.4"

+ 127 - 67
bannerview/src/main/java/com/zhpan/bannerview/BannerViewPager.java

@@ -16,16 +16,10 @@ import android.view.ViewGroup;
 import android.widget.RelativeLayout;
 import android.widget.RelativeLayout;
 
 
 import com.zhpan.bannerview.annotation.AIndicatorGravity;
 import com.zhpan.bannerview.annotation.AIndicatorGravity;
-import com.zhpan.bannerview.annotation.AIndicatorSlideMode;
-import com.zhpan.bannerview.annotation.AIndicatorStyle;
 import com.zhpan.bannerview.annotation.APageStyle;
 import com.zhpan.bannerview.annotation.APageStyle;
 import com.zhpan.bannerview.annotation.ATransformerStyle;
 import com.zhpan.bannerview.annotation.ATransformerStyle;
 import com.zhpan.bannerview.annotation.Visibility;
 import com.zhpan.bannerview.annotation.Visibility;
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
-import com.zhpan.bannerview.constants.IndicatorStyle;
 import com.zhpan.bannerview.constants.PageStyle;
 import com.zhpan.bannerview.constants.PageStyle;
-import com.zhpan.bannerview.indicator.IndicatorView;
-import com.zhpan.bannerview.indicator.IIndicator;
 import com.zhpan.bannerview.manager.BannerManager;
 import com.zhpan.bannerview.manager.BannerManager;
 import com.zhpan.bannerview.manager.BannerOptions;
 import com.zhpan.bannerview.manager.BannerOptions;
 import com.zhpan.bannerview.transform.ScaleInTransformer;
 import com.zhpan.bannerview.transform.ScaleInTransformer;
@@ -36,6 +30,10 @@ import com.zhpan.bannerview.holder.ViewHolder;
 import com.zhpan.bannerview.provider.ViewStyleSetter;
 import com.zhpan.bannerview.provider.ViewStyleSetter;
 import com.zhpan.bannerview.transform.PageTransformerFactory;
 import com.zhpan.bannerview.transform.PageTransformerFactory;
 import com.zhpan.bannerview.view.CatchViewPager;
 import com.zhpan.bannerview.view.CatchViewPager;
+import com.zhpan.indicator.IndicatorView;
+import com.zhpan.indicator.annotation.AIndicatorSlideMode;
+import com.zhpan.indicator.annotation.AIndicatorStyle;
+import com.zhpan.indicator.base.IIndicator;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -231,7 +229,8 @@ public class BannerViewPager<T, VH extends ViewHolder> extends RelativeLayout im
             initIndicator(new IndicatorView(getContext()));
             initIndicator(new IndicatorView(getContext()));
         }
         }
         mIndicatorView.setIndicatorOptions(bannerOptions.getIndicatorOptions());
         mIndicatorView.setIndicatorOptions(bannerOptions.getIndicatorOptions());
-        mIndicatorView.setPageSize(list.size());
+        bannerOptions.getIndicatorOptions().setPageSize(list.size());
+//        mIndicatorView.setPageSize(list.size());
     }
     }
 
 
     private void initIndicator(IIndicator indicatorView) {
     private void initIndicator(IIndicator indicatorView) {
@@ -516,65 +515,57 @@ public class BannerViewPager<T, VH extends ViewHolder> extends RelativeLayout im
      * @param checkedColor checked color of indicator
      * @param checkedColor checked color of indicator
      * @param normalColor  unchecked color of indicator
      * @param normalColor  unchecked color of indicator
      */
      */
-    public BannerViewPager<T, VH> setIndicatorColor(@ColorInt int normalColor,
-                                                    @ColorInt int checkedColor) {
-        mBannerManager.bannerOptions().setIndicatorCheckedColor(checkedColor);
-        mBannerManager.bannerOptions().setIndicatorNormalColor(normalColor);
+    public BannerViewPager<T, VH> setIndicatorSliderColor(@ColorInt int normalColor,
+                                                          @ColorInt int checkedColor) {
+        mBannerManager.bannerOptions().setIndicatorSliderColor(normalColor, checkedColor);
         return this;
         return this;
     }
     }
 
 
+
     /**
     /**
      * set indicator circle radius
      * set indicator circle radius
      * <p>
      * <p>
-     * if the indicator style is {@link IndicatorStyle#DASH} or {@link IndicatorStyle#ROUND_RECT}
+     * if the indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#DASH}
+     * or {@link com.zhpan.indicator.enums.IndicatorStyle#ROUND_RECT}
      * the indicator dash width=2*radius
      * the indicator dash width=2*radius
      *
      *
      * @param radius 指示器圆点半径
      * @param radius 指示器圆点半径
      */
      */
-    public BannerViewPager<T, VH> setIndicatorRadius(int radius) {
-        setIndicatorRadius(radius, radius);
+    public BannerViewPager<T, VH> setIndicatorSliderRadius(int radius) {
+        setIndicatorSliderRadius(radius, radius);
         return this;
         return this;
     }
     }
 
 
+
     /**
     /**
      * set indicator circle radius
      * set indicator circle radius
      *
      *
      * @param normalRadius  unchecked circle radius
      * @param normalRadius  unchecked circle radius
      * @param checkedRadius checked circle radius
      * @param checkedRadius checked circle radius
      */
      */
-    public BannerViewPager<T, VH> setIndicatorRadius(int normalRadius, int checkedRadius) {
-        mBannerManager.bannerOptions().setNormalIndicatorWidth(normalRadius * 2);
-        mBannerManager.bannerOptions().setCheckedIndicatorWidth(checkedRadius * 2);
+    public BannerViewPager<T, VH> setIndicatorSliderRadius(int normalRadius, int checkedRadius) {
+        mBannerManager.bannerOptions().setIndicatorSliderWidth(normalRadius * 2, checkedRadius * 2);
         return this;
         return this;
     }
     }
 
 
-
-    /**
-     * Set indicator dash width,if indicator style is {@link IndicatorStyle#CIRCLE},
-     * the indicator circle radius is indicatorWidth/2.
-     *
-     * @param indicatorWidth indicator dash width.
-     */
-    public BannerViewPager<T, VH> setIndicatorWidth(int indicatorWidth) {
-        setIndicatorWidth(indicatorWidth, indicatorWidth);
+    public BannerViewPager<T, VH> setIndicatorSliderWidth(int indicatorWidth) {
+        setIndicatorSliderWidth(indicatorWidth, indicatorWidth);
         return this;
         return this;
     }
     }
 
 
-
     /**
     /**
-     * Set indicator dash width,if indicator style is {@link IndicatorStyle#CIRCLE},
+     * Set indicator dash width,if indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#CIRCLE},
      * the indicator circle radius is indicatorWidth/2.
      * the indicator circle radius is indicatorWidth/2.
      *
      *
-     * @param normalWidth if the indicator style is {@link IndicatorStyle#DASH} the params means unchecked dash width
-     *                    if the indicator style is {@link IndicatorStyle#ROUND_RECT}  means unchecked round rectangle width
-     *                    if the indicator style is {@link IndicatorStyle#CIRCLE } means unchecked circle diameter
-     * @param checkWidth  if the indicator style is {@link IndicatorStyle#DASH} the params means checked dash width
-     *                    if the indicator style is {@link IndicatorStyle#ROUND_RECT} the params means checked round rectangle width
-     *                    if the indicator style is {@link IndicatorStyle#CIRCLE } means checked circle diameter
-     */
-    public BannerViewPager<T, VH> setIndicatorWidth(int normalWidth, int checkWidth) {
-        mBannerManager.bannerOptions().setNormalIndicatorWidth(normalWidth);
-        mBannerManager.bannerOptions().setCheckedIndicatorWidth(checkWidth);
+     * @param normalWidth if the indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#DASH} the params means unchecked dash width
+     *                    if the indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#ROUND_RECT}  means unchecked round rectangle width
+     *                    if the indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#CIRCLE } means unchecked circle diameter
+     * @param checkWidth  if the indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#DASH} the params means checked dash width
+     *                    if the indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#ROUND_RECT} the params means checked round rectangle width
+     *                    if the indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#CIRCLE } means checked circle diameter
+     */
+    public BannerViewPager<T, VH> setIndicatorSliderWidth(int normalWidth, int checkWidth) {
+        mBannerManager.bannerOptions().setIndicatorSliderWidth(normalWidth, checkWidth);
         return this;
         return this;
     }
     }
 
 
@@ -588,21 +579,11 @@ public class BannerViewPager<T, VH extends ViewHolder> extends RelativeLayout im
      *
      *
      * @param indicatorGap indicator gap
      * @param indicatorGap indicator gap
      */
      */
-    public BannerViewPager<T, VH> setIndicatorGap(int indicatorGap) {
+    public BannerViewPager<T, VH> setIndicatorSliderGap(int indicatorGap) {
         mBannerManager.bannerOptions().setIndicatorGap(indicatorGap);
         mBannerManager.bannerOptions().setIndicatorGap(indicatorGap);
         return this;
         return this;
     }
     }
 
 
-    /**
-     * @param showIndicator is show indicator
-     * @deprecated Use {@link #setIndicatorVisibility(int)} instead.
-     */
-    @Deprecated
-    public BannerViewPager<T, VH> showIndicator(boolean showIndicator) {
-        mIndicatorLayout.setVisibility(showIndicator ? VISIBLE : GONE);
-        return this;
-    }
-
     /**
     /**
      * Set the visibility state of indicator view.
      * Set the visibility state of indicator view.
      *
      *
@@ -627,11 +608,11 @@ public class BannerViewPager<T, VH extends ViewHolder> extends RelativeLayout im
     }
     }
 
 
     /**
     /**
-     * Set Indicator slide mode,default value is {@link IndicatorSlideMode#NORMAL}
+     * Set Indicator slide mode,default value is {@link com.zhpan.indicator.enums.IndicatorSlideMode#NORMAL}
      *
      *
      * @param slideMode Indicator slide mode
      * @param slideMode Indicator slide mode
-     * @see com.zhpan.bannerview.constants.IndicatorSlideMode#NORMAL
-     * @see com.zhpan.bannerview.constants.IndicatorSlideMode#SMOOTH
+     * @see com.zhpan.indicator.enums.IndicatorSlideMode#NORMAL
+     * @see com.zhpan.indicator.enums.IndicatorSlideMode#SMOOTH
      */
      */
     public BannerViewPager<T, VH> setIndicatorSlideMode(@AIndicatorSlideMode int slideMode) {
     public BannerViewPager<T, VH> setIndicatorSlideMode(@AIndicatorSlideMode int slideMode) {
         mBannerManager.bannerOptions().setIndicatorSlideMode(slideMode);
         mBannerManager.bannerOptions().setIndicatorSlideMode(slideMode);
@@ -657,9 +638,9 @@ public class BannerViewPager<T, VH extends ViewHolder> extends RelativeLayout im
      * Set indicator style
      * Set indicator style
      *
      *
      * @param indicatorStyle indicator style
      * @param indicatorStyle indicator style
-     * @see IndicatorStyle#CIRCLE
-     * @see IndicatorStyle#DASH
-     * @see IndicatorStyle#ROUND_RECT
+     * @see com.zhpan.indicator.enums.IndicatorStyle#CIRCLE
+     * @see com.zhpan.indicator.enums.IndicatorStyle#DASH
+     * @see com.zhpan.indicator.enums.IndicatorStyle#ROUND_RECT
      */
      */
     public BannerViewPager<T, VH> setIndicatorStyle(@AIndicatorStyle int indicatorStyle) {
     public BannerViewPager<T, VH> setIndicatorStyle(@AIndicatorStyle int indicatorStyle) {
         mBannerManager.bannerOptions().setIndicatorStyle(indicatorStyle);
         mBannerManager.bannerOptions().setIndicatorStyle(indicatorStyle);
@@ -675,18 +656,6 @@ public class BannerViewPager<T, VH extends ViewHolder> extends RelativeLayout im
         initBannerData(list);
         initBannerData(list);
     }
     }
 
 
-//    public void update(List<T> list) {
-//        if (null != list) {
-//            if (mBannerPagerAdapter != null && mBannerManager.bannerOptions().getPageStyle() == PageStyle.NORMAL) {
-//                mBannerPagerAdapter.setList(list);
-//                mIndicatorView.setPageSize(list.size());
-////                setCurrentItem(0, false);
-//            } else {
-//                initBannerData(list);
-//            }
-//        }
-//    }
-
     /**
     /**
      * @return the currently selected page position.
      * @return the currently selected page position.
      */
      */
@@ -794,4 +763,95 @@ public class BannerViewPager<T, VH extends ViewHolder> extends RelativeLayout im
         mOnPageChangeListener = onPageChangeListener;
         mOnPageChangeListener = onPageChangeListener;
         return this;
         return this;
     }
     }
+
+
+    /**
+     * set indicator circle radius
+     *
+     * @param normalRadius  unchecked circle radius
+     * @param checkedRadius checked circle radius
+     * @deprecated use {@link #setIndicatorSliderRadius(int,int)} instead
+     */
+    @Deprecated
+    public BannerViewPager<T, VH> setIndicatorRadius(int normalRadius, int checkedRadius) {
+        mBannerManager.bannerOptions().setIndicatorSliderWidth(normalRadius * 2, checkedRadius * 2);
+        return this;
+    }
+
+    /**
+     * set indicator circle radius
+     * <p>
+     * if the indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#DASH}
+     * or {@link com.zhpan.indicator.enums.IndicatorStyle#ROUND_RECT}
+     * the indicator dash width=2*radius
+     *
+     * @param radius 指示器圆点半径
+     * @deprecated use {@link #setIndicatorSliderRadius(int)} instead
+     */
+    @Deprecated
+    public BannerViewPager<T, VH> setIndicatorRadius(int radius) {
+        setIndicatorSliderRadius(radius, radius);
+        return this;
+    }
+
+
+    /**
+     * Set indicator dash width,if indicator style is {@link com.zhpan.indicator.enums.IndicatorStyle#CIRCLE},
+     * the indicator circle radius is indicatorWidth/2.
+     *
+     * @param indicatorWidth indicator dash width.
+     * @deprecated Use {@link #setIndicatorSliderWidth(int)} instead.
+     */
+    @Deprecated
+    public BannerViewPager<T, VH> setIndicatorWidth(int indicatorWidth) {
+        setIndicatorSliderWidth(indicatorWidth, indicatorWidth);
+        return this;
+    }
+
+
+    /**
+     *
+     * @deprecated Use {@link #setIndicatorSliderWidth(int,int)} instead.
+     */
+    @Deprecated
+    public BannerViewPager<T, VH> setIndicatorWidth(int normalWidth, int checkWidth) {
+        mBannerManager.bannerOptions().setIndicatorSliderWidth(normalWidth, checkWidth);
+        return this;
+    }
+
+    /**
+     * set indicator color
+     *
+     * @param checkedColor checked color of indicator
+     * @param normalColor  unchecked color of indicator
+     * @deprecated use {@link #setIndicatorSliderColor(int, int)} instead
+     */
+    @Deprecated
+    public BannerViewPager<T, VH> setIndicatorColor(@ColorInt int normalColor,
+                                                    @ColorInt int checkedColor) {
+        mBannerManager.bannerOptions().setIndicatorSliderColor(normalColor, checkedColor);
+        return this;
+    }
+
+
+    /**
+     * Set Indicator gap of dash/circle
+     *
+     * @param indicatorGap indicator gap
+     * @deprecated Use {@link #setIndicatorSliderGap(int)} instead.
+     */
+    public BannerViewPager<T, VH> setIndicatorGap(int indicatorGap) {
+        mBannerManager.bannerOptions().setIndicatorGap(indicatorGap);
+        return this;
+    }
+
+    /**
+     * @param showIndicator is show indicator
+     * @deprecated Use {@link #setIndicatorVisibility(int)} instead.
+     */
+    @Deprecated
+    public BannerViewPager<T, VH> showIndicator(boolean showIndicator) {
+        mIndicatorLayout.setVisibility(showIndicator ? VISIBLE : GONE);
+        return this;
+    }
 }
 }

+ 0 - 24
bannerview/src/main/java/com/zhpan/bannerview/annotation/AIndicatorSlideMode.java

@@ -1,24 +0,0 @@
-package com.zhpan.bannerview.annotation;
-
-import androidx.annotation.IntDef;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import static com.zhpan.bannerview.constants.IndicatorSlideMode.NORMAL;
-import static com.zhpan.bannerview.constants.IndicatorSlideMode.SMOOTH;
-import static com.zhpan.bannerview.constants.IndicatorSlideMode.WORM;
-
-/**
- * <pre>
- *   Created by zhangpan on 2019-10-18.
- *   Description:
- * </pre>
- */
-@IntDef({NORMAL, SMOOTH,WORM})
-@Retention(RetentionPolicy.SOURCE)
-@Target({ElementType.PARAMETER,ElementType.FIELD})
-public @interface AIndicatorSlideMode {
-}

+ 0 - 24
bannerview/src/main/java/com/zhpan/bannerview/annotation/AIndicatorStyle.java

@@ -1,24 +0,0 @@
-package com.zhpan.bannerview.annotation;
-
-import androidx.annotation.IntDef;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import static com.zhpan.bannerview.constants.IndicatorStyle.CIRCLE;
-import static com.zhpan.bannerview.constants.IndicatorStyle.DASH;
-import static com.zhpan.bannerview.constants.IndicatorStyle.ROUND_RECT;
-
-/**
- * <pre>
- *   Created by zhangpan on 2019-10-18.
- *   Description:
- * </pre>
- */
-@IntDef({CIRCLE, DASH,ROUND_RECT})
-@Retention(RetentionPolicy.SOURCE)
-@Target(ElementType.PARAMETER)
-public @interface AIndicatorStyle {
-}

+ 0 - 14
bannerview/src/main/java/com/zhpan/bannerview/constants/IndicatorSlideMode.java

@@ -1,14 +0,0 @@
-package com.zhpan.bannerview.constants;
-
-/**
- * <pre>
- *   Created by zhangpan on 2019-10-18.
- *   Description:
- * </pre>
- */
-public interface IndicatorSlideMode {
-    int NORMAL = 0;
-    int SMOOTH = 2;
-    int WORM = 3;
-//    int THIN_WORM = 4;
-}

+ 0 - 13
bannerview/src/main/java/com/zhpan/bannerview/constants/IndicatorStyle.java

@@ -1,13 +0,0 @@
-package com.zhpan.bannerview.constants;
-
-/**
- * <pre>
- *   Created by zhangpan on 2019-10-18.
- *   Description:
- * </pre>
- */
-public interface IndicatorStyle {
-    int CIRCLE = 0;
-    int DASH = 1 << 1;
-    int ROUND_RECT = 1 << 2;
-}

+ 0 - 157
bannerview/src/main/java/com/zhpan/bannerview/indicator/BaseIndicatorView.java

@@ -1,157 +0,0 @@
-package com.zhpan.bannerview.indicator;
-
-import android.content.Context;
-import android.graphics.Paint;
-import android.util.AttributeSet;
-import android.view.View;
-
-import androidx.annotation.Nullable;
-
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-/**
- * <pre>
- *   Created by zhangpan on 2019-09-04.
- *   Description:IndicatorView基类,处理了页面滑动。
- * </pre>
- */
-public class BaseIndicatorView extends View implements IIndicator {
-
-    private IndicatorOptions mIndicatorOptions;
-
-    protected Paint mPaint;
-
-    public BaseIndicatorView(Context context) {
-        super(context);
-    }
-
-    public BaseIndicatorView(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public BaseIndicatorView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        mIndicatorOptions = new IndicatorOptions();
-        mPaint = new Paint();
-        mPaint.setAntiAlias(true);
-    }
-
-    @Override
-    public void onPageSelected(int position) {
-        if (getSlideMode() == IndicatorSlideMode.NORMAL) {
-            setCurrentPosition(position);
-            setSlideProgress(0);
-            invalidate();
-        }
-    }
-
-    @Override
-    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
-        if (getSlideMode() != IndicatorSlideMode.NORMAL && getPageSize() > 1) {
-            scrollSlider(position, positionOffset);
-            invalidate();
-        }
-    }
-
-    private void scrollSlider(int position, float positionOffset) {
-        if (position % getPageSize() == getPageSize() - 1) { //   最后一个页面与第一个页面
-            if (positionOffset < 0.5) {
-                setCurrentPosition(position);
-                setSlideProgress(0);
-            } else {
-                setCurrentPosition(0);
-                setSlideProgress(0);
-            }
-        } else {    //  中间页面
-            setCurrentPosition(position);
-            setSlideProgress(positionOffset);
-        }
-    }
-
-//    private boolean isSlideToRight(int position, float positionOffset) {
-//        int prePosition = mIndicatorOptions.getPrePosition();
-//        if ((prePosition == 0 && position == getPageSize() - 1)) {
-//            return false;
-//        } else if (prePosition == getPageSize() - 1 && position == 0) {
-//            return true;
-//        } else {
-//            return (position + positionOffset - prePosition) > 0;
-//        }
-//    }
-
-    @Override
-    public void setPageSize(int pageSize) {
-        mIndicatorOptions.setPageSize(pageSize);
-        requestLayout();
-    }
-
-
-    public int getPageSize() {
-        return mIndicatorOptions.getPageSize();
-    }
-
-    public int getNormalColor() {
-        return mIndicatorOptions.getNormalColor();
-    }
-
-    public int getCheckedColor() {
-        return mIndicatorOptions.getCheckedColor();
-    }
-
-    public float getIndicatorGap() {
-        return mIndicatorOptions.getIndicatorGap();
-    }
-
-    public float getSlideProgress() {
-        return mIndicatorOptions.getSlideProgress();
-    }
-
-    public int getCurrentPosition() {
-        return mIndicatorOptions.getCurrentPosition();
-    }
-
-    public void setCurrentPosition(int currentPosition) {
-        mIndicatorOptions.setCurrentPosition(currentPosition);
-    }
-
-    public void setIndicatorOptions(IndicatorOptions indicatorOptions) {
-        mIndicatorOptions = indicatorOptions;
-    }
-
-//    public boolean isSlideToRight() {
-//        return mIndicatorOptions.isSlideToRight();
-//    }
-
-    public int getSlideMode() {
-        return mIndicatorOptions.getSlideMode();
-    }
-
-    public float getNormalIndicatorWidth() {
-        return mIndicatorOptions.getNormalIndicatorWidth();
-    }
-
-    public float getCheckedIndicatorWidth() {
-        return mIndicatorOptions.getCheckedIndicatorWidth();
-    }
-
-    private void setSlideProgress(float slideProgress) {
-        mIndicatorOptions.setSlideProgress(slideProgress);
-    }
-
-//    private void setPrePosition(int prePosition) {
-//        mIndicatorOptions.setPrePosition(prePosition);
-//    }
-
-//    private void setSlideToRight(boolean slideToRight) {
-//        mIndicatorOptions.setSlideToRight(slideToRight);
-//    }
-
-    public IndicatorOptions getIndicatorOptions() {
-        return mIndicatorOptions;
-    }
-
-    @Override
-    public void onPageScrollStateChanged(int state) {
-    }
-}

+ 12 - 7
bannerview/src/main/java/com/zhpan/bannerview/indicator/CircleIndicatorView.java

@@ -2,20 +2,24 @@ package com.zhpan.bannerview.indicator;
 
 
 import android.content.Context;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Canvas;
+import android.graphics.Paint;
 import android.util.AttributeSet;
 import android.util.AttributeSet;
 
 
+import com.zhpan.indicator.base.BaseIndicatorView;
+
+
 /**
 /**
  * Created by zhpan on 2017/12/6.
  * Created by zhpan on 2017/12/6.
  *
  *
- * @deprecated Use {@link IndicatorView} instead.
+ * @deprecated Use {@link com.zhpan.indicator.IndicatorView} instead.
  */
  */
-@Deprecated
 public class CircleIndicatorView extends BaseIndicatorView {
 public class CircleIndicatorView extends BaseIndicatorView {
 
 
     private float mNormalRadius;
     private float mNormalRadius;
     private float mCheckedRadius;
     private float mCheckedRadius;
     private float maxRadius;
     private float maxRadius;
     private int height;
     private int height;
+    private Paint mPaint = new Paint();
 
 
     public CircleIndicatorView(Context context) {
     public CircleIndicatorView(Context context) {
         this(context, null);
         this(context, null);
@@ -27,10 +31,11 @@ public class CircleIndicatorView extends BaseIndicatorView {
 
 
     public CircleIndicatorView(Context context, AttributeSet attrs, int defStyleAttr) {
     public CircleIndicatorView(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
         super(context, attrs, defStyleAttr);
+        mPaint.setAntiAlias(true);
         mPaint.setColor(getNormalColor());
         mPaint.setColor(getNormalColor());
-        mNormalRadius = getNormalIndicatorWidth() / 2;
-        mCheckedRadius = getCheckedIndicatorWidth() / 2;
-        getIndicatorOptions().setIndicatorGap(mNormalRadius * 2);
+        mNormalRadius = getNormalSliderWidth() / 2;
+        mCheckedRadius = getCheckedSliderWidth() / 2;
+        getIndicatorOptions().setSliderGap(mNormalRadius * 2);
     }
     }
 
 
     @Override
     @Override
@@ -42,8 +47,8 @@ public class CircleIndicatorView extends BaseIndicatorView {
     @Override
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-        mNormalRadius = getNormalIndicatorWidth() / 2;
-        mCheckedRadius = getCheckedIndicatorWidth() / 2;
+        mNormalRadius = getNormalSliderWidth() / 2;
+        mCheckedRadius = getCheckedSliderWidth() / 2;
         maxRadius = Math.max(mCheckedRadius, mNormalRadius);
         maxRadius = Math.max(mCheckedRadius, mNormalRadius);
         setMeasuredDimension((int) ((getPageSize() - 1) * getIndicatorGap() + 2 * (maxRadius + mNormalRadius * (getPageSize() - 1))),
         setMeasuredDimension((int) ((getPageSize() - 1) * getIndicatorGap() + 2 * (maxRadius + mNormalRadius * (getPageSize() - 1))),
                 (int) (2 * maxRadius));
                 (int) (2 * maxRadius));

+ 12 - 8
bannerview/src/main/java/com/zhpan/bannerview/indicator/DashIndicatorView.java

@@ -2,20 +2,23 @@ package com.zhpan.bannerview.indicator;
 
 
 import android.content.Context;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Canvas;
+import android.graphics.Paint;
 import android.util.AttributeSet;
 import android.util.AttributeSet;
 
 
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
+import com.zhpan.indicator.base.BaseIndicatorView;
+import com.zhpan.indicator.enums.IndicatorSlideMode;
 
 
 /**
 /**
  * Created by zhpan on 2017/12/6.
  * Created by zhpan on 2017/12/6.
  *
  *
- * @deprecated Use {@link IndicatorView} instead.
+ * @deprecated Use {@link com.zhpan.indicator.IndicatorView} instead.
  */
  */
 @Deprecated
 @Deprecated
 public class DashIndicatorView extends BaseIndicatorView {
 public class DashIndicatorView extends BaseIndicatorView {
     private float sliderHeight;
     private float sliderHeight;
     private float maxWidth;
     private float maxWidth;
     private float minWidth;
     private float minWidth;
+    private Paint mPaint=new Paint();
 
 
     public DashIndicatorView(Context context) {
     public DashIndicatorView(Context context) {
         this(context, null);
         this(context, null);
@@ -27,15 +30,16 @@ public class DashIndicatorView extends BaseIndicatorView {
 
 
     public DashIndicatorView(Context context, AttributeSet attrs, int defStyleAttr) {
     public DashIndicatorView(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
         super(context, attrs, defStyleAttr);
+        mPaint.setAntiAlias(true);
         mPaint.setColor(getNormalColor());
         mPaint.setColor(getNormalColor());
-        sliderHeight = getNormalIndicatorWidth() / 2;
+        sliderHeight = getNormalSliderWidth() / 2;
     }
     }
 
 
     @Override
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-        maxWidth = Math.max(getNormalIndicatorWidth(), getCheckedIndicatorWidth());
-        minWidth = Math.min(getNormalIndicatorWidth(), getCheckedIndicatorWidth());
+        maxWidth = Math.max(getNormalSliderWidth(), getCheckedSliderWidth());
+        minWidth = Math.min(getNormalSliderWidth(), getCheckedSliderWidth());
         setMeasuredDimension((int) ((getPageSize() - 1) * getIndicatorGap() + maxWidth + (getPageSize() - 1) * minWidth),
         setMeasuredDimension((int) ((getPageSize() - 1) * getIndicatorGap() + maxWidth + (getPageSize() - 1) * minWidth),
                 (int) (getSliderHeight()));
                 (int) (getSliderHeight()));
     }
     }
@@ -56,10 +60,10 @@ public class DashIndicatorView extends BaseIndicatorView {
 
 
 
 
     private void normalSlide(Canvas canvas, int i) {
     private void normalSlide(Canvas canvas, int i) {
-        if (getNormalIndicatorWidth() == getCheckedIndicatorWidth()) {
+        if (getNormalSliderWidth() == getCheckedSliderWidth()) {
             mPaint.setColor(getNormalColor());
             mPaint.setColor(getNormalColor());
-            float left = i * (getNormalIndicatorWidth()) + i * +getIndicatorGap();
-            canvas.drawRect(left, 0, left + getNormalIndicatorWidth(), getSliderHeight(), mPaint);
+            float left = i * (getNormalSliderWidth()) + i * +getIndicatorGap();
+            canvas.drawRect(left, 0, left + getNormalSliderWidth(), getSliderHeight(), mPaint);
             drawSliderStyle(canvas);
             drawSliderStyle(canvas);
         } else {  //  仿支付宝首页轮播图的Indicator
         } else {  //  仿支付宝首页轮播图的Indicator
             if (i < getCurrentPosition()) {
             if (i < getCurrentPosition()) {

+ 0 - 20
bannerview/src/main/java/com/zhpan/bannerview/indicator/IIndicator.java

@@ -1,20 +0,0 @@
-package com.zhpan.bannerview.indicator;
-
-import androidx.viewpager.widget.ViewPager;
-
-import com.zhpan.bannerview.annotation.AIndicatorSlideMode;
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-
-/**
- * <pre>
- *   Created by zhangpan on 2019-09-02.
- *   Description:
- * </pre>
- */
-public interface IIndicator extends ViewPager.OnPageChangeListener {
-
-    void setPageSize(int pageSize);
-
-    void setIndicatorOptions(IndicatorOptions options);
-}

+ 0 - 63
bannerview/src/main/java/com/zhpan/bannerview/indicator/IndicatorView.java

@@ -1,63 +0,0 @@
-package com.zhpan.bannerview.indicator;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.util.AttributeSet;
-
-import androidx.annotation.Nullable;
-
-import com.zhpan.bannerview.indicator.drawer.BaseDrawer;
-import com.zhpan.bannerview.indicator.drawer.DrawerProxy;
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/23.
- *   Description:The Indicator in BannerViewPager,this include three indicator styles,as below:
- *  {@link com.zhpan.bannerview.constants.IndicatorStyle#CIRCLE }
- *  {@link com.zhpan.bannerview.constants.IndicatorStyle#DASH}
- *  {@link com.zhpan.bannerview.constants.IndicatorStyle#ROUND_RECT}
- * </pre>
- */
-public class IndicatorView extends BaseIndicatorView implements IIndicator {
-
-    private DrawerProxy mDrawerProxy;
-
-    public IndicatorView(Context context) {
-        this(context, null);
-    }
-
-    public IndicatorView(Context context, @Nullable AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public IndicatorView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        mDrawerProxy = new DrawerProxy(getIndicatorOptions());
-    }
-
-    @Override
-    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
-        super.onLayout(changed, left, top, right, bottom);
-        mDrawerProxy.onLayout(changed,left,top,right,bottom);
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-        BaseDrawer.MeasureResult measureResult = mDrawerProxy.onMeasure(widthMeasureSpec, heightMeasureSpec);
-        setMeasuredDimension(measureResult.getMeasureWidth(), measureResult.getMeasureHeight());
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        super.onDraw(canvas);
-        mDrawerProxy.onDraw(canvas);
-    }
-
-    @Override
-    public void setIndicatorOptions(IndicatorOptions indicatorOptions) {
-        super.setIndicatorOptions(indicatorOptions);
-        mDrawerProxy.setIndicatorOptions(indicatorOptions);
-    }
-}

+ 0 - 78
bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/BaseDrawer.java

@@ -1,78 +0,0 @@
-package com.zhpan.bannerview.indicator.drawer;
-
-import android.graphics.Paint;
-import android.graphics.RectF;
-
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/23.
- *   Description:
- * </pre>
- */
-public abstract class BaseDrawer implements IDrawer {
-
-    private MeasureResult mMeasureResult;
-    IndicatorOptions mIndicatorOptions;
-    float maxWidth;
-    float minWidth;
-    Paint mPaint;
-    RectF mRectF;
-
-    BaseDrawer(IndicatorOptions indicatorOptions) {
-        this.mIndicatorOptions = indicatorOptions;
-        mPaint = new Paint();
-        mPaint.setAntiAlias(true);
-        mMeasureResult = new MeasureResult();
-        mRectF = new RectF();
-    }
-
-    @Override
-    public MeasureResult onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        maxWidth = Math.max(mIndicatorOptions.getNormalIndicatorWidth(), mIndicatorOptions.getCheckedIndicatorWidth());
-        minWidth = Math.min(mIndicatorOptions.getNormalIndicatorWidth(), mIndicatorOptions.getCheckedIndicatorWidth());
-        mMeasureResult.setMeasureResult(measureWidth(), measureHeight());
-        return mMeasureResult;
-    }
-
-    protected int measureHeight() {
-        return (int) mIndicatorOptions.getSliderHeight();
-    }
-
-    private int measureWidth() {
-        int pageSize = mIndicatorOptions.getPageSize();
-        float indicatorGap = mIndicatorOptions.getIndicatorGap();
-        return (int) ((pageSize - 1) * indicatorGap + maxWidth + (pageSize - 1) * minWidth);
-    }
-
-    @Override
-    public void onLayout(boolean changed, int left, int top, int right, int bottom) {
-
-    }
-
-    public class MeasureResult {
-
-        int measureWidth;
-
-        int measureHeight;
-
-        void setMeasureResult(int measureWidth, int measureHeight) {
-            this.measureWidth = measureWidth;
-            this.measureHeight = measureHeight;
-        }
-
-        public int getMeasureWidth() {
-            return measureWidth;
-        }
-
-        public int getMeasureHeight() {
-            return measureHeight;
-        }
-
-    }
-
-    protected boolean isWidthEquals() {
-        return mIndicatorOptions.getNormalIndicatorWidth() == mIndicatorOptions.getCheckedIndicatorWidth();
-    }
-}

+ 0 - 87
bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/CircleDrawer.java

@@ -1,87 +0,0 @@
-package com.zhpan.bannerview.indicator.drawer;
-
-import android.graphics.Canvas;
-import android.graphics.RectF;
-
-import com.zhpan.bannerview.manager.IndicatorOptions;
-import com.zhpan.bannerview.utils.BannerUtils;
-
-import static com.zhpan.bannerview.constants.IndicatorSlideMode.NORMAL;
-import static com.zhpan.bannerview.constants.IndicatorSlideMode.SMOOTH;
-import static com.zhpan.bannerview.constants.IndicatorSlideMode.WORM;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/23.
- *   Description: Circle Indicator drawer.
- * </pre>
- */
-public class CircleDrawer extends BaseDrawer {
-
-    CircleDrawer(IndicatorOptions indicatorOptions) {
-        super(indicatorOptions);
-    }
-
-    private RectF rectF = new RectF();
-
-    @Override
-    protected int measureHeight() {
-        return (int) maxWidth;
-    }
-
-    @Override
-    public void onDraw(Canvas canvas) {
-        if (mIndicatorOptions.getPageSize() > 1) {
-            drawNormal(canvas);
-            drawSlider(canvas);
-        }
-    }
-
-    private void drawNormal(Canvas canvas) {
-        float normalIndicatorWidth = mIndicatorOptions.getNormalIndicatorWidth();
-        mPaint.setColor(mIndicatorOptions.getNormalColor());
-        for (int i = 0; i < mIndicatorOptions.getPageSize(); i++) {
-            float coordinateX = BannerUtils.getCoordinateX(mIndicatorOptions, maxWidth, i);
-            float coordinateY = BannerUtils.getCoordinateY(maxWidth);
-            drawCircle(canvas, coordinateX, coordinateY, normalIndicatorWidth / 2);
-        }
-    }
-
-    private void drawSlider(Canvas canvas) {
-        mPaint.setColor(mIndicatorOptions.getCheckedColor());
-        switch (mIndicatorOptions.getSlideMode()) {
-            case NORMAL:
-            case SMOOTH:
-                drawCircleSlider(canvas);
-                break;
-            case WORM:
-                drawWormSlider(canvas, mIndicatorOptions.getNormalIndicatorWidth());
-                break;
-        }
-    }
-
-    private void drawCircleSlider(Canvas canvas) {
-        int currentPosition = mIndicatorOptions.getCurrentPosition();
-        float startCoordinateX = BannerUtils.getCoordinateX(mIndicatorOptions, maxWidth, currentPosition);
-        float endCoordinateX = BannerUtils.getCoordinateX(mIndicatorOptions, maxWidth, (currentPosition + 1) % mIndicatorOptions.getPageSize());
-        float coordinateX = startCoordinateX + (endCoordinateX - startCoordinateX) * mIndicatorOptions.getSlideProgress();
-        float coordinateY = BannerUtils.getCoordinateY(maxWidth);
-        float radius = mIndicatorOptions.getCheckedIndicatorWidth() / 2;
-        drawCircle(canvas, coordinateX, coordinateY, radius);
-    }
-
-    private void drawWormSlider(Canvas canvas, float sliderHeight) {
-        float slideProgress = mIndicatorOptions.getSlideProgress();
-        int currentPosition = mIndicatorOptions.getCurrentPosition();
-        float distance = mIndicatorOptions.getIndicatorGap() + mIndicatorOptions.getNormalIndicatorWidth();
-        float startCoordinateX = BannerUtils.getCoordinateX(mIndicatorOptions, maxWidth, currentPosition);
-        float left = startCoordinateX + Math.max(distance * (slideProgress - 0.5f) * 2.0f, 0) - mIndicatorOptions.getNormalIndicatorWidth() / 2;
-        float right = startCoordinateX + Math.min((distance * slideProgress * 2), distance) + mIndicatorOptions.getNormalIndicatorWidth() / 2;
-        rectF.set(left, 0, right, sliderHeight);
-        canvas.drawRoundRect(rectF, sliderHeight, sliderHeight, mPaint);
-    }
-
-    private void drawCircle(Canvas canvas, float coordinateX, float coordinateY, float radius) {
-        canvas.drawCircle(coordinateX, coordinateY, radius, mPaint);
-    }
-}

+ 0 - 23
bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/DashDrawer.java

@@ -1,23 +0,0 @@
-package com.zhpan.bannerview.indicator.drawer;
-
-import android.graphics.Canvas;
-
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/23.
- *   Description: Dash Indicator Drawer.
- * </pre>
- */
-public class DashDrawer extends RectDrawer {
-
-    DashDrawer(IndicatorOptions indicatorOptions) {
-        super(indicatorOptions);
-    }
-
-    @Override
-    protected void drawDash(Canvas canvas) {
-        canvas.drawRect(mRectF, mPaint);
-    }
-}

+ 0 - 27
bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/DrawerFactory.java

@@ -1,27 +0,0 @@
-package com.zhpan.bannerview.indicator.drawer;
-
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-import static com.zhpan.bannerview.constants.IndicatorStyle.DASH;
-import static com.zhpan.bannerview.constants.IndicatorStyle.ROUND_RECT;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/24.
- *   Description: Indicator Drawer Factory.
- * </pre>
- */
-class DrawerFactory {
-    static IDrawer createDrawer(IndicatorOptions indicatorOptions) {
-        IDrawer drawer;
-        int indicatorStyle = indicatorOptions.getIndicatorStyle();
-        if (indicatorStyle == DASH) {
-            drawer = new DashDrawer(indicatorOptions);
-        } else if (indicatorStyle == ROUND_RECT) {
-            drawer = new RoundRectDrawer(indicatorOptions);
-        } else {
-            drawer = new CircleDrawer(indicatorOptions);
-        }
-        return drawer;
-    }
-}

+ 0 - 46
bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/DrawerProxy.java

@@ -1,46 +0,0 @@
-package com.zhpan.bannerview.indicator.drawer;
-
-import android.graphics.Canvas;
-
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-import static com.zhpan.bannerview.constants.IndicatorStyle.CIRCLE;
-import static com.zhpan.bannerview.constants.IndicatorStyle.DASH;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/23.
- *   Description: Indicator Drawer Proxy.
- * </pre>
- */
-public class DrawerProxy implements IDrawer {
-
-    private IDrawer mIDrawer;
-
-    public DrawerProxy(IndicatorOptions indicatorOptions) {
-        init(indicatorOptions);
-    }
-
-    private void init(IndicatorOptions indicatorOptions) {
-        mIDrawer = DrawerFactory.createDrawer(indicatorOptions);
-    }
-
-    @Override
-    public void onLayout(boolean changed, int left, int top, int right, int bottom) {
-
-    }
-
-    @Override
-    public BaseDrawer.MeasureResult onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        return mIDrawer.onMeasure(widthMeasureSpec, heightMeasureSpec);
-    }
-
-    @Override
-    public void onDraw(Canvas canvas) {
-        mIDrawer.onDraw(canvas);
-    }
-
-    public void setIndicatorOptions(IndicatorOptions indicatorOptions) {
-        init(indicatorOptions);
-    }
-}

+ 0 - 20
bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/IDrawer.java

@@ -1,20 +0,0 @@
-package com.zhpan.bannerview.indicator.drawer;
-
-import android.graphics.Canvas;
-
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/23.
- *   Description:
- * </pre>
- */
-public interface IDrawer {
-
-    void onLayout(boolean changed, int left, int top, int right, int bottom);
-
-    BaseDrawer.MeasureResult onMeasure(int widthMeasureSpec, int heightMeasureSpec);
-
-    void onDraw(Canvas canvas);
-}

+ 0 - 108
bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/RectDrawer.java

@@ -1,108 +0,0 @@
-package com.zhpan.bannerview.indicator.drawer;
-
-import android.graphics.Canvas;
-
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
-import com.zhpan.bannerview.manager.IndicatorOptions;
-import com.zhpan.bannerview.utils.BannerUtils;
-
-/**
- * <pre>
- *   Created by zhpan on 2020/1/17.
- *   Description:
- * </pre>
- */
-public class RectDrawer extends BaseDrawer {
-
-    RectDrawer(IndicatorOptions indicatorOptions) {
-        super(indicatorOptions);
-    }
-
-    @Override
-    public void onDraw(Canvas canvas) {
-        int pageSize = mIndicatorOptions.getPageSize();
-        if (pageSize > 1) {
-            if (isWidthEquals() && mIndicatorOptions.getSlideMode() != IndicatorSlideMode.NORMAL) {
-                drawUncheckedSlider(canvas, pageSize);
-                drawCheckedSlider(canvas);
-            } else {    // 单独处理normalWidth与checkedWidth不一致的情况
-                for (int i = 0; i < pageSize; i++) {
-                    drawInequalitySlider(canvas, i);
-                }
-            }
-        }
-    }
-
-    private void drawUncheckedSlider(Canvas canvas, int pageSize) {
-        for (int i = 0; i < pageSize; i++) {
-            mPaint.setColor(mIndicatorOptions.getNormalColor());
-            float sliderHeight = mIndicatorOptions.getSliderHeight();
-            float left = i * (maxWidth) + i * +mIndicatorOptions.getIndicatorGap() + (maxWidth - minWidth);
-            mRectF.set(left, 0, left + minWidth, sliderHeight);
-            drawRoundRect(canvas, sliderHeight, sliderHeight);
-        }
-    }
-
-    private void drawInequalitySlider(Canvas canvas, int i) {
-        int normalColor = mIndicatorOptions.getNormalColor();
-        float indicatorGap = mIndicatorOptions.getIndicatorGap();
-        float sliderHeight = mIndicatorOptions.getSliderHeight();
-        int currentPosition = mIndicatorOptions.getCurrentPosition();
-        if (i < currentPosition) {
-            mPaint.setColor(normalColor);
-            float left = i * minWidth + i * indicatorGap;
-            mRectF.set(left, 0, left + minWidth, sliderHeight);
-            drawRoundRect(canvas, sliderHeight, sliderHeight);
-        } else if (i == currentPosition) {
-            mPaint.setColor(mIndicatorOptions.getCheckedColor());
-            float left = i * minWidth + i * indicatorGap;
-            mRectF.set(left, 0, left + minWidth + (maxWidth - minWidth), sliderHeight);
-            drawRoundRect(canvas, sliderHeight, sliderHeight);
-        } else {
-            mPaint.setColor(normalColor);
-            float left = i * minWidth + i * indicatorGap + (maxWidth - minWidth);
-            mRectF.set(left, 0, left + minWidth, sliderHeight);
-            drawRoundRect(canvas, sliderHeight, sliderHeight);
-        }
-    }
-
-    private void drawCheckedSlider(Canvas canvas) {
-        mPaint.setColor(mIndicatorOptions.getCheckedColor());
-        switch (mIndicatorOptions.getSlideMode()) {
-            case IndicatorSlideMode.SMOOTH:
-                drawSmoothSlider(canvas);
-                break;
-            case IndicatorSlideMode.WORM:
-                drawWormSlider(canvas);
-                break;
-        }
-    }
-
-    private void drawWormSlider(Canvas canvas) {
-        float sliderHeight = mIndicatorOptions.getSliderHeight();
-        float slideProgress = mIndicatorOptions.getSlideProgress();
-        int currentPosition = mIndicatorOptions.getCurrentPosition();
-        float distance = mIndicatorOptions.getIndicatorGap() + mIndicatorOptions.getNormalIndicatorWidth();
-        float startCoordinateX = BannerUtils.getCoordinateX(mIndicatorOptions, maxWidth, currentPosition);
-        float left = startCoordinateX + Math.max(distance * (slideProgress - 0.5f) * 2.0f, 0) - mIndicatorOptions.getNormalIndicatorWidth() / 2;
-        float right = startCoordinateX + Math.min((distance * slideProgress * 2), distance) + mIndicatorOptions.getNormalIndicatorWidth() / 2;
-        mRectF.set(left, 0, right, sliderHeight);
-        drawRoundRect(canvas, sliderHeight, sliderHeight);
-    }
-
-    private void drawSmoothSlider(Canvas canvas) {
-        int currentPosition = mIndicatorOptions.getCurrentPosition();
-        float indicatorGap = mIndicatorOptions.getIndicatorGap();
-        float sliderHeight = mIndicatorOptions.getSliderHeight();
-        float left = currentPosition * (maxWidth) + currentPosition * +indicatorGap + (maxWidth + indicatorGap) * mIndicatorOptions.getSlideProgress();
-        mRectF.set(left, 0, left + maxWidth, sliderHeight);
-        drawRoundRect(canvas, sliderHeight, sliderHeight);
-    }
-
-    protected void drawRoundRect(Canvas canvas, float rx, float ry) {
-        drawDash(canvas);
-    }
-
-    protected void drawDash(Canvas canvas) {
-    }
-}

+ 0 - 23
bannerview/src/main/java/com/zhpan/bannerview/indicator/drawer/RoundRectDrawer.java

@@ -1,23 +0,0 @@
-package com.zhpan.bannerview.indicator.drawer;
-
-import android.graphics.Canvas;
-
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/26.
- *   Description:
- * </pre>
- */
-public class RoundRectDrawer extends RectDrawer {
-
-    RoundRectDrawer(IndicatorOptions indicatorOptions) {
-        super(indicatorOptions);
-    }
-
-    @Override
-    protected void drawRoundRect(Canvas canvas, float rx, float ry) {
-        canvas.drawRoundRect(mRectF, rx, ry, mPaint);
-    }
-}

+ 2 - 4
bannerview/src/main/java/com/zhpan/bannerview/manager/AttributeController.java

@@ -44,16 +44,14 @@ public class AttributeController {
         int indicatorStyle = typedArray.getInt(R.styleable.BannerViewPager_bvp_indicator_style, 0);
         int indicatorStyle = typedArray.getInt(R.styleable.BannerViewPager_bvp_indicator_style, 0);
         int indicatorSlideMode = typedArray.getInt(R.styleable.BannerViewPager_bvp_indicator_slide_mode, 0);
         int indicatorSlideMode = typedArray.getInt(R.styleable.BannerViewPager_bvp_indicator_slide_mode, 0);
         int indicatorVisibility = typedArray.getInt(R.styleable.BannerViewPager_bvp_indicator_visibility, 0);
         int indicatorVisibility = typedArray.getInt(R.styleable.BannerViewPager_bvp_indicator_visibility, 0);
-        mBannerOptions.setIndicatorCheckedColor(indicatorCheckedColor);
-        mBannerOptions.setIndicatorNormalColor(indicatorNormalColor);
-        mBannerOptions.setNormalIndicatorWidth(normalIndicatorWidth);
+        mBannerOptions.setIndicatorSliderColor(indicatorNormalColor,indicatorCheckedColor);
+        mBannerOptions.setIndicatorSliderWidth(normalIndicatorWidth,normalIndicatorWidth);
         mBannerOptions.setIndicatorGravity(indicatorGravity);
         mBannerOptions.setIndicatorGravity(indicatorGravity);
         mBannerOptions.setIndicatorStyle(indicatorStyle);
         mBannerOptions.setIndicatorStyle(indicatorStyle);
         mBannerOptions.setIndicatorSlideMode(indicatorSlideMode);
         mBannerOptions.setIndicatorSlideMode(indicatorSlideMode);
         mBannerOptions.setIndicatorVisibility(indicatorVisibility);
         mBannerOptions.setIndicatorVisibility(indicatorVisibility);
         mBannerOptions.setIndicatorGap(normalIndicatorWidth);
         mBannerOptions.setIndicatorGap(normalIndicatorWidth);
         mBannerOptions.setIndicatorHeight(normalIndicatorWidth / 2);
         mBannerOptions.setIndicatorHeight(normalIndicatorWidth / 2);
-        mBannerOptions.setCheckedIndicatorWidth(normalIndicatorWidth);
     }
     }
 
 
     private void initBannerAttrs(TypedArray typedArray) {
     private void initBannerAttrs(TypedArray typedArray) {

+ 14 - 19
bannerview/src/main/java/com/zhpan/bannerview/manager/BannerOptions.java

@@ -2,6 +2,7 @@ package com.zhpan.bannerview.manager;
 
 
 import com.zhpan.bannerview.constants.PageStyle;
 import com.zhpan.bannerview.constants.PageStyle;
 import com.zhpan.bannerview.utils.BannerUtils;
 import com.zhpan.bannerview.utils.BannerUtils;
+import com.zhpan.indicator.option.IndicatorOptions;
 
 
 /**
 /**
  * <pre>
  * <pre>
@@ -100,36 +101,30 @@ public class BannerOptions {
     }
     }
 
 
     public int getIndicatorNormalColor() {
     public int getIndicatorNormalColor() {
-        return mIndicatorOptions.getNormalColor();
-    }
-
-    public void setIndicatorNormalColor(int indicatorNormalColor) {
-        mIndicatorOptions.setNormalColor(indicatorNormalColor);
+        return mIndicatorOptions.getNormalSliderColor();
     }
     }
 
 
     public int getIndicatorCheckedColor() {
     public int getIndicatorCheckedColor() {
-        return mIndicatorOptions.getCheckedColor();
-    }
-
-    public void setIndicatorCheckedColor(int indicatorCheckedColor) {
-        mIndicatorOptions.setCheckedColor(indicatorCheckedColor);
+        return mIndicatorOptions.getCheckedSliderColor();
     }
     }
 
 
     public int getNormalIndicatorWidth() {
     public int getNormalIndicatorWidth() {
-        return (int) mIndicatorOptions.getNormalIndicatorWidth();
+        return (int) mIndicatorOptions.getNormalSliderWidth();
     }
     }
 
 
-    public void setNormalIndicatorWidth(int normalIndicatorWidth) {
-        mIndicatorOptions.setNormalIndicatorWidth(normalIndicatorWidth);
+
+
+    public void setIndicatorSliderColor(int normalColor,int checkedColor){
+        mIndicatorOptions.setSliderColor(normalColor,checkedColor);
     }
     }
 
 
+    public void setIndicatorSliderWidth(int normalWidth,int checkedWidth){
+        mIndicatorOptions.setSliderWidth(normalWidth,checkedWidth);
+    }
     public int getCheckedIndicatorWidth() {
     public int getCheckedIndicatorWidth() {
-        return (int) mIndicatorOptions.getCheckedIndicatorWidth();
+        return (int) mIndicatorOptions.getCheckedSliderWidth();
     }
     }
 
 
-    public void setCheckedIndicatorWidth(int checkedIndicatorWidth) {
-        mIndicatorOptions.setCheckedIndicatorWidth(checkedIndicatorWidth);
-    }
 
 
     public IndicatorOptions getIndicatorOptions() {
     public IndicatorOptions getIndicatorOptions() {
         return mIndicatorOptions;
         return mIndicatorOptions;
@@ -168,11 +163,11 @@ public class BannerOptions {
     }
     }
 
 
     public float getIndicatorGap() {
     public float getIndicatorGap() {
-        return mIndicatorOptions.getIndicatorGap();
+        return mIndicatorOptions.getSliderGap();
     }
     }
 
 
     public void setIndicatorGap(float indicatorGap) {
     public void setIndicatorGap(float indicatorGap) {
-        mIndicatorOptions.setIndicatorGap(indicatorGap);
+        mIndicatorOptions.setSliderGap(indicatorGap);
     }
     }
 
 
     public float getIndicatorHeight() {
     public float getIndicatorHeight() {

+ 0 - 177
bannerview/src/main/java/com/zhpan/bannerview/manager/IndicatorOptions.java

@@ -1,177 +0,0 @@
-package com.zhpan.bannerview.manager;
-
-import android.graphics.Color;
-
-import com.zhpan.bannerview.constants.IndicatorSlideMode;
-import com.zhpan.bannerview.utils.BannerUtils;
-
-/**
- * <pre>
- *   Created by zhpan on 2019/11/20.
- *   Description:Indicator的配置参数
- * </pre>
- */
-public class IndicatorOptions {
-
-    public IndicatorOptions() {
-        normalIndicatorWidth = BannerUtils.dp2px(8);
-        checkedIndicatorWidth = normalIndicatorWidth;
-        indicatorGap = normalIndicatorWidth;
-        normalColor = Color.parseColor("#8C18171C");
-        checkedColor = Color.parseColor("#8C6C6D72");
-        slideMode = IndicatorSlideMode.NORMAL;
-    }
-
-    private int mIndicatorStyle;
-
-    /**
-     * 页面size
-     */
-    private int pageSize;
-    /**
-     * 未选中时Indicator颜色
-     */
-    private int normalColor;
-    /**
-     * 选中时Indicator颜色
-     */
-    private int checkedColor;
-    /**
-     * Indicator间距
-     */
-    private float indicatorGap;
-    /**
-     * 从一个点滑动到另一个点的进度
-     */
-    private float slideProgress;
-    /**
-     * 指示器当前位置
-     */
-    private int currentPosition;
-//    /**
-//     * 指示器上一个位置
-//     */
-//    private int prePosition;
-//    /**
-//     * 是否是向右滑动,true向右,false向左
-//     */
-//    private boolean slideToRight;
-
-    private float sliderHeight;
-
-    /**
-     * Indicator滑动模式,目前仅支持两种
-     *
-     * @see IndicatorSlideMode#NORMAL
-     * @see IndicatorSlideMode#SMOOTH
-     */
-    private int slideMode;
-
-    private float normalIndicatorWidth;
-
-    private float checkedIndicatorWidth;
-
-    public int getPageSize() {
-        return pageSize;
-    }
-
-    public void setPageSize(int pageSize) {
-        this.pageSize = pageSize;
-    }
-
-    public int getNormalColor() {
-        return normalColor;
-    }
-
-    public void setNormalColor(int normalColor) {
-        this.normalColor = normalColor;
-    }
-
-    public int getCheckedColor() {
-        return checkedColor;
-    }
-
-    public void setCheckedColor(int checkedColor) {
-        this.checkedColor = checkedColor;
-    }
-
-    public float getIndicatorGap() {
-        return indicatorGap;
-    }
-
-    public void setIndicatorGap(float indicatorGap) {
-        this.indicatorGap = indicatorGap;
-    }
-
-    public float getSlideProgress() {
-        return slideProgress;
-    }
-
-    public void setSlideProgress(float slideProgress) {
-        this.slideProgress = slideProgress;
-    }
-
-    public int getCurrentPosition() {
-        return currentPosition;
-    }
-
-    public void setCurrentPosition(int currentPosition) {
-        this.currentPosition = currentPosition;
-    }
-
-//    public int getPrePosition() {
-//        return prePosition;
-//    }
-
-//    public void setPrePosition(int prePosition) {
-//        this.prePosition = prePosition;
-//    }
-
-//    public boolean isSlideToRight() {
-//        return slideToRight;
-//    }
-
-//    public void setSlideToRight(boolean slideToRight) {
-//        this.slideToRight = slideToRight;
-//    }
-
-    public int getSlideMode() {
-        return slideMode;
-    }
-
-    public void setSlideMode(int slideMode) {
-        this.slideMode = slideMode;
-    }
-
-    public float getNormalIndicatorWidth() {
-        return normalIndicatorWidth;
-    }
-
-    public void setNormalIndicatorWidth(float normalIndicatorWidth) {
-        this.normalIndicatorWidth = normalIndicatorWidth;
-    }
-
-    public float getCheckedIndicatorWidth() {
-        return checkedIndicatorWidth;
-    }
-
-    public void setCheckedIndicatorWidth(float checkedIndicatorWidth) {
-        this.checkedIndicatorWidth = checkedIndicatorWidth;
-    }
-
-    public float getSliderHeight() {
-        return sliderHeight > 0 ? sliderHeight : normalIndicatorWidth / 2;
-    }
-
-    public void setSliderHeight(float sliderHeight) {
-        this.sliderHeight = sliderHeight;
-    }
-
-    public int getIndicatorStyle() {
-        return mIndicatorStyle;
-    }
-
-    public void setIndicatorStyle(int indicatorStyle) {
-        mIndicatorStyle = indicatorStyle;
-    }
-}

+ 0 - 10
bannerview/src/main/java/com/zhpan/bannerview/utils/BannerUtils.java

@@ -3,8 +3,6 @@ package com.zhpan.bannerview.utils;
 import android.content.res.Resources;
 import android.content.res.Resources;
 import android.util.Log;
 import android.util.Log;
 
 
-import com.zhpan.bannerview.manager.IndicatorOptions;
-
 /**
 /**
  * <pre>
  * <pre>
  *   Created by zhangpan on 2019-08-14.
  *   Created by zhangpan on 2019-08-14.
@@ -43,12 +41,4 @@ public class BannerUtils {
         return isCanLoop ? (position - 1 + pageSize) % pageSize : (position + pageSize) % pageSize;
         return isCanLoop ? (position - 1 + pageSize) % pageSize : (position + pageSize) % pageSize;
     }
     }
 
 
-    public static float getCoordinateX(IndicatorOptions indicatorOptions, float maxDiameter, int index) {
-        float normalIndicatorWidth = indicatorOptions.getNormalIndicatorWidth();
-        return maxDiameter / 2 + (normalIndicatorWidth + indicatorOptions.getIndicatorGap()) * index;
-    }
-
-    public static float getCoordinateY(float maxDiameter) {
-        return maxDiameter / 2;
-    }
 }
 }

BIN
image/pay_alipay.jpg


BIN
image/pay_wechat.png


BIN
image/slide_circle_normal.gif


BIN
image/slide_circle_smooth.gif


BIN
image/slide_circle_worm.gif


BIN
image/style_dash_normal.gif


BIN
image/style_dash_smooth.gif


BIN
image/style_dash_worm.gif


BIN
image/style_round_rect_normal.gif


BIN
image/style_round_rect_smooth.gif


BIN
image/style_round_rect_worm.gif