Skip to content

Commit 5178123

Browse files
author
Edwin Wu
committed
update README
1 parent 8a0324f commit 5178123

6 files changed

Lines changed: 86 additions & 31 deletions

File tree

LoopViewPager/app/src/main/java/com/edwin/loopviewpager/fragment/DepthLoopViewPagerFragment.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.github.why168.LoopViewPagerLayout;
1111
import com.github.why168.listener.OnBannerItemClickListener;
1212
import com.github.why168.modle.BannerInfo;
13+
import com.github.why168.modle.IndicatorLocation;
1314
import com.github.why168.modle.LoopStyle;
1415
import com.github.why168.utils.L;
1516

@@ -43,15 +44,16 @@ protected void initView(View view, Bundle savedInstanceState) {
4344

4445
@Override
4546
protected void initData() {
46-
//TODO 初始化View
47-
mLoopViewPagerLayout.initializeView();
4847
//TODO 设置LoopViewPager参数
4948
mLoopViewPagerLayout.setLoop_ms(2000);//轮播的速度(毫秒)
5049
mLoopViewPagerLayout.setLoop_duration(1000);//滑动的速率(毫秒)
5150
mLoopViewPagerLayout.setLoop_style(LoopStyle.Depth);//轮播的样式-深度depth
51+
mLoopViewPagerLayout.setIndicatorLocation(IndicatorLocation.Left);//指示器位置-左Left
5252
L.e("LoopViewPager Depth 参数设置完毕");
5353

54+
//TODO 初始化
5455
mLoopViewPagerLayout.initializeData(mActivity);
56+
5557
//TODO 准备数据
5658
ArrayList<BannerInfo> bannerInfos = new ArrayList<>();
5759
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/09/01/01.jpg", "第一张图片"));
@@ -60,8 +62,11 @@ protected void initData() {
6062
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/08/28/01.jpg", "第四张图片"));
6163
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/08/02/01.jpg", "第五张图片"));
6264

65+
//TODO 设置监听
6366
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnPicassoImageViewLoader());
6467
mLoopViewPagerLayout.setOnBannerItemClickListener(this);
68+
69+
//TODO 设置数据
6570
mLoopViewPagerLayout.setLoopData(bannerInfos);
6671
}
6772

LoopViewPager/app/src/main/java/com/edwin/loopviewpager/fragment/EmptyLoopViewPagerFragment.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
import com.bumptech.glide.Glide;
99
import com.edwin.loopviewpager.R;
1010
import com.edwin.loopviewpager.base.BaseFragment;
11-
import com.edwin.loopviewpager.loader.OnGlideImageViewLoader;
1211
import com.github.why168.LoopViewPagerLayout;
1312
import com.github.why168.listener.OnBannerItemClickListener;
1413
import com.github.why168.loader.OnDefaultImageViewLoader;
1514
import com.github.why168.modle.BannerInfo;
15+
import com.github.why168.modle.IndicatorLocation;
1616
import com.github.why168.modle.LoopStyle;
1717
import com.github.why168.utils.L;
1818

@@ -46,22 +46,25 @@ protected void initView(View view, Bundle savedInstanceState) {
4646

4747
@Override
4848
protected void initData() {
49-
//TODO 初始化View
50-
mLoopViewPagerLayout.initializeView();
5149
//TODO 设置LoopViewPager参数
5250
mLoopViewPagerLayout.setLoop_ms(2000);//轮播的速度(毫秒)
5351
mLoopViewPagerLayout.setLoop_duration(1000);//滑动的速率(毫秒)
5452
mLoopViewPagerLayout.setLoop_style(LoopStyle.Empty);//轮播的样式-默认empty
53+
mLoopViewPagerLayout.setIndicatorLocation(IndicatorLocation.Center);//指示器位置-中Center
5554
L.e("LoopViewPager Empty 参数设置完毕");
5655

56+
//TODO 初始化
5757
mLoopViewPagerLayout.initializeData(mActivity);
58+
5859
//TODO 准备数据
5960
ArrayList<BannerInfo> bannerInfos = new ArrayList<>();
6061
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.a, "第一张图片"));
6162
bannerInfos.add(new BannerInfo<String>("https://avatars2.githubusercontent.com/u/13330076?v=3&u=33de3c989c70716d321d79a99b8d176c7b88349e&s=400", "第二张图片"));
6263
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.b, "第三张图片"));
6364
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.c, "第四张图片"));
6465
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.d, "第五张图片"));
66+
67+
//TODO 设置监听
6568
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnDefaultImageViewLoader() {
6669
@Override
6770
public void onLoadImageView(ImageView view, Object object) {
@@ -74,10 +77,10 @@ public void onLoadImageView(ImageView view, Object object) {
7477
.into(view);
7578
}
7679
});
77-
7880
mLoopViewPagerLayout.setOnBannerItemClickListener(this);
81+
82+
//TODO 设置数据
7983
mLoopViewPagerLayout.setLoopData(bannerInfos);
80-
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnGlideImageViewLoader());
8184
}
8285

8386
@Override

LoopViewPager/app/src/main/java/com/edwin/loopviewpager/fragment/ListHeadViewFragment.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import com.github.why168.LoopViewPagerLayout;
1414
import com.github.why168.listener.OnBannerItemClickListener;
1515
import com.github.why168.modle.BannerInfo;
16+
import com.github.why168.modle.IndicatorLocation;
1617
import com.github.why168.modle.LoopStyle;
1718
import com.github.why168.utils.L;
1819

@@ -49,25 +50,31 @@ protected void initData() {
4950
mListView.setAdapter(new ListHeadViewAdapter(getContext()));
5051
View inflateView = LayoutInflater.from(mActivity).inflate(R.layout.item_banner, null);
5152
mLoopViewPagerLayout = (LoopViewPagerLayout) inflateView.findViewById(R.id.mLoopViewPagerLayout_banner);
52-
//TODO 初始化View
53-
mLoopViewPagerLayout.initializeView();
5453
//TODO 设置LoopViewPager参数
5554
mLoopViewPagerLayout.setLoop_ms(2000);//轮播的速度(毫秒)
5655
mLoopViewPagerLayout.setLoop_duration(1000);//滑动的速率(毫秒)
5756
mLoopViewPagerLayout.setLoop_style(LoopStyle.Empty);//轮播的样式-默认empty
57+
mLoopViewPagerLayout.setIndicatorLocation(IndicatorLocation.Center);//指示器位置-中Center
5858
L.e("LoopViewPager List 参数设置完毕");
5959

60+
//TODO 初始化
6061
mLoopViewPagerLayout.initializeData(mActivity);
62+
6163
//TODO 准备数据
6264
ArrayList<BannerInfo> bannerInfos = new ArrayList<>();
6365
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.a, "第一张图片"));
6466
bannerInfos.add(new BannerInfo<String>("https://avatars2.githubusercontent.com/u/13330076?v=3&u=33de3c989c70716d321d79a99b8d176c7b88349e&s=400", "第二张图片"));
6567
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.b, "第三张图片"));
6668
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.c, "第四张图片"));
6769
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.d, "第五张图片"));
70+
71+
//TODO 设置监听
6872
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnGlideImageViewLoader());
6973
mLoopViewPagerLayout.setOnBannerItemClickListener(this);
74+
75+
//TODO 设置数据
7076
mLoopViewPagerLayout.setLoopData(bannerInfos);
77+
7178
mListView.addHeaderView(mLoopViewPagerLayout);
7279
}
7380

LoopViewPager/app/src/main/java/com/edwin/loopviewpager/fragment/ZoomLoopViewPagerFragment.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.github.why168.LoopViewPagerLayout;
1111
import com.github.why168.listener.OnBannerItemClickListener;
1212
import com.github.why168.modle.BannerInfo;
13+
import com.github.why168.modle.IndicatorLocation;
1314
import com.github.why168.modle.LoopStyle;
1415
import com.github.why168.utils.L;
1516

@@ -43,24 +44,30 @@ protected void initView(View view, Bundle savedInstanceState) {
4344

4445
@Override
4546
protected void initData() {
46-
//TODO 初始化View
47-
mLoopViewPagerLayout.initializeView();
4847
//TODO 设置LoopViewPager参数
4948
mLoopViewPagerLayout.setLoop_ms(2000);//轮播的速度(毫秒)
5049
mLoopViewPagerLayout.setLoop_duration(1000);//滑动的速率(毫秒)
5150
mLoopViewPagerLayout.setLoop_style(LoopStyle.Zoom);//轮播的样式-深度depth
51+
mLoopViewPagerLayout.setIndicatorLocation(IndicatorLocation.Right);//指示器位置-右Right
5252
L.e("LoopViewPager Zoom 参数设置完毕");
5353

54+
//TODO 初始化
5455
mLoopViewPagerLayout.initializeData(mActivity);
56+
5557
//TODO 准备数据
5658
ArrayList<BannerInfo> bannerInfos = new ArrayList<>();
5759
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/08/17/06.jpg", "第一张图片"));
5860
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/06/09/04.jpg", "第二张图片"));
5961
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/02/11/01.jpg", "第三张图片"));
6062
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/02/11/04.jpg", "第四张图片"));
6163
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/07/18/01.jpg", "第五张图片"));
64+
65+
//TODO 设置监听
6266
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnFrescoImageViewLoader());
6367
mLoopViewPagerLayout.setOnBannerItemClickListener(this);
68+
69+
70+
//TODO 设置数据
6471
mLoopViewPagerLayout.setLoopData(bannerInfos);
6572
}
6673

LoopViewPager/library/src/main/java/com/github/why168/LoopViewPagerLayout.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public void setOnLoadImageViewListener(OnLoadImageViewListener onLoadImageViewLi
107107
/**
108108
* Be sure to initialize the View
109109
*/
110-
public void initializeView() {
110+
private void initializeView() {
111111
L.e("LoopViewPager ---> initializeView");
112112
float density = getResources().getDisplayMetrics().density;
113113

@@ -156,6 +156,8 @@ public void initializeView() {
156156
* @param context context
157157
*/
158158
public void initializeData(Context context) {
159+
initializeView();
160+
159161
L.e("LoopViewPager ---> initializeData");
160162
//TODO To prevent the flower screen
161163
if (loop_duration > loop_ms)

README.md

Lines changed: 50 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
* 支持修改轮播的速度;
77
* 支持修改滑动速率;
88
* 支持点击事件回调监听;
9-
* 支持自定义图片加载;
9+
* 支持自定义图片加载方式;
10+
* 支持自定义ImageView图片;
1011
* 支持addHeaderView方式;
11-
* 支持小红点位置左中右
12+
* 支持小红点指示器三种位置摆放
1213
* 指示器小红点动态移动;
1314
* 防闪屏花屏。
1415

@@ -35,7 +36,7 @@ Step 2. Add the dependency
3536

3637
```groovy
3738
dependencies {
38-
compile 'com.github.why168:LoopViewPagerLayout:2.0.0'
39+
compile 'com.github.why168:LoopViewPagerLayout:2.0.'
3940
}
4041
```
4142

@@ -49,13 +50,14 @@ dependencies {
4950

5051
## API调用顺序
5152

52-
* setIndicatorLocation(IndicatorLocation.Right):小红点位置(枚举值: 1:left,0:depth, 2:right)
53-
* initializeView():初始化View
5453
* setLoop_ms:轮播的速度(毫秒)
5554
* setLoop_duration:滑动的速率(毫秒)
5655
* setLoop_style:轮播的样式(枚举值: -1默认empty,1深度1depth,2缩小zoom)
57-
* initializeData(Content):初始化数据
58-
* setLoopData(ArrayList<BannerInfo>, OnBannerItemClickListener, OnLoadImageViewListener):数据,数据回调监听,自定义图片加载监听
56+
* setIndicatorLocation(IndicatorLocation.Right):小红点位置(枚举值: 1:left,0:depth, 2:right)
57+
* initializeData(Content):初始化
58+
* setOnLoadImageViewListener(OnLoadImageViewListener):自定义图片加载&自定义ImageView图片
59+
* setOnBannerItemClickListener(OnBannerItemClickListener)
60+
* setLoopData(ArrayList<BannerInfo>):banner数据
5961
* startLoop():开始轮播
6062
* stopLoop():停止轮播,务必在onDestory中调用
6163

@@ -81,41 +83,70 @@ dependencies {
8183
## 更优雅地使用API-调用顺序不能乱
8284
```java
8385
mLoopViewPagerLayout = (LoopViewPagerLayout)findViewById(R.id.mLoopViewPagerLayout);
84-
mLoopViewPagerLayout.initializeView();//初始化View
8586
mLoopViewPagerLayout.setLoop_ms(2000);//轮播的速度(毫秒)
8687
mLoopViewPagerLayout.setLoop_duration(1000);//滑动的速率(毫秒)
8788
mLoopViewPagerLayout.setLoop_style(LoopStyle.Empty);//轮播的样式-默认empty
89+
mLoopViewPagerLayout.setIndicatorLocation(IndicatorLocation.Center);//指示器位置-中Center
8890
mLoopViewPagerLayout.initializeData(mActivity);//初始化数据
8991
ArrayList<LoopViewPagerLayout.BannerInfo> data = new ArrayList<>();
9092
data.add(new LoopViewPagerLayout.BannerInfo<Integer>(R.mipmap.a, "第一张图片"));
9193
data.add(new LoopViewPagerLayout.BannerInfo<String>("url", "第二张图片"));
9294
data.add(new LoopViewPagerLayout.BannerInfo<Integer>(R.mipmap.b, "第三张图片"));
9395
data.add(new LoopViewPagerLayout.BannerInfo<Integer>(R.mipmap.c, "第四张图片"));
9496
data.add(new LoopViewPagerLayout.BannerInfo<Integer>(R.mipmap.d, "第五张图片"));
95-
mLoopViewPagerLayout.setLoopData(data,this,this);
97+
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnDefaultImageViewLoader());//设置图片加载&自定义图片监听
98+
mLoopViewPagerLayout.setOnBannerItemClickListener(this);//设置监听
99+
mLoopViewPagerLayout.setLoopData(bannerInfos);//设置数据
96100
```
97101

98102
###回调函数
99103

100104
```java
101-
public interface OnBannerItemClickListener {
105+
/**
106+
* Load ImageView Listener
107+
*
108+
* @author Edwin.Wu
109+
* @version 2016/12/6 14:40
110+
* @since JDK1.8
111+
*/
112+
public interface OnLoadImageViewListener {
102113
/**
103-
* banner click
114+
* create image
104115
*
105-
* @param index subscript
106-
* @param banner bean
116+
* @param context context
117+
* @return image
107118
*/
108-
void onBannerClick(int index, ArrayList<BannerInfo> banner);
109-
}
119+
ImageView createImageView(Context context);
110120

111-
public interface OnLoadImageViewListener {
112121
/**
113122
* image load
114123
*
115-
* @param view ImageView
116-
* @param object parameter
124+
* @param imageView ImageView
125+
* @param parameter String 可以为一个文件路径、uri或者url
126+
* Uri uri类型
127+
* File 文件
128+
* Integer 资源Id,R.drawable.xxx或者R.mipmap.xxx
129+
* byte[] 类型
130+
* T 自定义类型
117131
*/
118-
void onLoadImageView(ImageView view, Object object);
132+
void onLoadImageView(ImageView imageView, Object parameter);
133+
}
134+
135+
/**
136+
* Banner Click
137+
*
138+
* @author Edwin.Wu
139+
* @version 2016/12/6 15:38
140+
* @since JDK1.8
141+
*/
142+
public interface OnBannerItemClickListener {
143+
/**
144+
* banner click
145+
*
146+
* @param index subscript
147+
* @param banner bean
148+
*/
149+
void onBannerClick(int index, ArrayList<BannerInfo> banner);
119150
}
120151
```
121152

0 commit comments

Comments
 (0)