Skip to content

Commit

Permalink
update README
Browse files Browse the repository at this point in the history
  • Loading branch information
Edwin Wu committed Dec 7, 2016
1 parent 8a0324f commit 5178123
Show file tree
Hide file tree
Showing 6 changed files with 86 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.github.why168.LoopViewPagerLayout;
import com.github.why168.listener.OnBannerItemClickListener;
import com.github.why168.modle.BannerInfo;
import com.github.why168.modle.IndicatorLocation;
import com.github.why168.modle.LoopStyle;
import com.github.why168.utils.L;

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

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

//TODO 初始化
mLoopViewPagerLayout.initializeData(mActivity);

//TODO 准备数据
ArrayList<BannerInfo> bannerInfos = new ArrayList<>();
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/09/01/01.jpg", "第一张图片"));
Expand All @@ -60,8 +62,11 @@ protected void initData() {
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/08/28/01.jpg", "第四张图片"));
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/08/02/01.jpg", "第五张图片"));

//TODO 设置监听
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnPicassoImageViewLoader());
mLoopViewPagerLayout.setOnBannerItemClickListener(this);

//TODO 设置数据
mLoopViewPagerLayout.setLoopData(bannerInfos);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
import com.bumptech.glide.Glide;
import com.edwin.loopviewpager.R;
import com.edwin.loopviewpager.base.BaseFragment;
import com.edwin.loopviewpager.loader.OnGlideImageViewLoader;
import com.github.why168.LoopViewPagerLayout;
import com.github.why168.listener.OnBannerItemClickListener;
import com.github.why168.loader.OnDefaultImageViewLoader;
import com.github.why168.modle.BannerInfo;
import com.github.why168.modle.IndicatorLocation;
import com.github.why168.modle.LoopStyle;
import com.github.why168.utils.L;

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

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

//TODO 初始化
mLoopViewPagerLayout.initializeData(mActivity);

//TODO 准备数据
ArrayList<BannerInfo> bannerInfos = new ArrayList<>();
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.a, "第一张图片"));
bannerInfos.add(new BannerInfo<String>("https://avatars2.githubusercontent.com/u/13330076?v=3&u=33de3c989c70716d321d79a99b8d176c7b88349e&s=400", "第二张图片"));
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.b, "第三张图片"));
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.c, "第四张图片"));
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.d, "第五张图片"));

//TODO 设置监听
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnDefaultImageViewLoader() {
@Override
public void onLoadImageView(ImageView view, Object object) {
Expand All @@ -74,10 +77,10 @@ public void onLoadImageView(ImageView view, Object object) {
.into(view);
}
});

mLoopViewPagerLayout.setOnBannerItemClickListener(this);

//TODO 设置数据
mLoopViewPagerLayout.setLoopData(bannerInfos);
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnGlideImageViewLoader());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import com.github.why168.LoopViewPagerLayout;
import com.github.why168.listener.OnBannerItemClickListener;
import com.github.why168.modle.BannerInfo;
import com.github.why168.modle.IndicatorLocation;
import com.github.why168.modle.LoopStyle;
import com.github.why168.utils.L;

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

//TODO 初始化
mLoopViewPagerLayout.initializeData(mActivity);

//TODO 准备数据
ArrayList<BannerInfo> bannerInfos = new ArrayList<>();
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.a, "第一张图片"));
bannerInfos.add(new BannerInfo<String>("https://avatars2.githubusercontent.com/u/13330076?v=3&u=33de3c989c70716d321d79a99b8d176c7b88349e&s=400", "第二张图片"));
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.b, "第三张图片"));
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.c, "第四张图片"));
bannerInfos.add(new BannerInfo<Integer>(R.mipmap.d, "第五张图片"));

//TODO 设置监听
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnGlideImageViewLoader());
mLoopViewPagerLayout.setOnBannerItemClickListener(this);

//TODO 设置数据
mLoopViewPagerLayout.setLoopData(bannerInfos);

mListView.addHeaderView(mLoopViewPagerLayout);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.github.why168.LoopViewPagerLayout;
import com.github.why168.listener.OnBannerItemClickListener;
import com.github.why168.modle.BannerInfo;
import com.github.why168.modle.IndicatorLocation;
import com.github.why168.modle.LoopStyle;
import com.github.why168.utils.L;

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

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

//TODO 初始化
mLoopViewPagerLayout.initializeData(mActivity);

//TODO 准备数据
ArrayList<BannerInfo> bannerInfos = new ArrayList<>();
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/08/17/06.jpg", "第一张图片"));
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/06/09/04.jpg", "第二张图片"));
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/02/11/01.jpg", "第三张图片"));
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/02/11/04.jpg", "第四张图片"));
bannerInfos.add(new BannerInfo<String>("http://mm.howkuai.com/wp-content/uploads/2016a/07/18/01.jpg", "第五张图片"));

//TODO 设置监听
mLoopViewPagerLayout.setOnLoadImageViewListener(new OnFrescoImageViewLoader());
mLoopViewPagerLayout.setOnBannerItemClickListener(this);


//TODO 设置数据
mLoopViewPagerLayout.setLoopData(bannerInfos);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public void setOnLoadImageViewListener(OnLoadImageViewListener onLoadImageViewLi
/**
* Be sure to initialize the View
*/
public void initializeView() {
private void initializeView() {
L.e("LoopViewPager ---> initializeView");
float density = getResources().getDisplayMetrics().density;

Expand Down Expand Up @@ -156,6 +156,8 @@ public void initializeView() {
* @param context context
*/
public void initializeData(Context context) {
initializeView();

L.e("LoopViewPager ---> initializeData");
//TODO To prevent the flower screen
if (loop_duration > loop_ms)
Expand Down
69 changes: 50 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
* 支持修改轮播的速度;
* 支持修改滑动速率;
* 支持点击事件回调监听;
* 支持自定义图片加载;
* 支持自定义图片加载方式;
* 支持自定义ImageView图片;
* 支持addHeaderView方式;
* 支持小红点位置左中右
* 支持小红点指示器三种位置摆放
* 指示器小红点动态移动;
* 防闪屏花屏。

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

```groovy
dependencies {
compile 'com.github.why168:LoopViewPagerLayout:2.0.0'
compile 'com.github.why168:LoopViewPagerLayout:2.0.'
}
```

Expand All @@ -49,13 +50,14 @@ dependencies {

## API调用顺序

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

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

###回调函数

```java
public interface OnBannerItemClickListener {
/**
* Load ImageView Listener
*
* @author Edwin.Wu
* @version 2016/12/6 14:40
* @since JDK1.8
*/
public interface OnLoadImageViewListener {
/**
* banner click
* create image
*
* @param index subscript
* @param banner bean
* @param context context
* @return image
*/
void onBannerClick(int index, ArrayList<BannerInfo> banner);
}
ImageView createImageView(Context context);

public interface OnLoadImageViewListener {
/**
* image load
*
* @param view ImageView
* @param object parameter
* @param imageView ImageView
* @param parameter String 可以为一个文件路径、uri或者url
* Uri uri类型
* File 文件
* Integer 资源Id,R.drawable.xxx或者R.mipmap.xxx
* byte[] 类型
* T 自定义类型
*/
void onLoadImageView(ImageView view, Object object);
void onLoadImageView(ImageView imageView, Object parameter);
}

/**
* Banner Click
*
* @author Edwin.Wu
* @version 2016/12/6 15:38
* @since JDK1.8
*/
public interface OnBannerItemClickListener {
/**
* banner click
*
* @param index subscript
* @param banner bean
*/
void onBannerClick(int index, ArrayList<BannerInfo> banner);
}
```

Expand Down

0 comments on commit 5178123

Please sign in to comment.