8000 GitHub - why168/LoopViewPagerLayout at 2.0.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

why168/LoopViewPagerLayout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 

Repository files navigation

LoopViewPagerLayout无限轮播

  • 支持三种动画;
  • 支持修改轮播的速度;
  • 支持修改滑动速率;
  • 支持点击事件回调监听;
  • 支持自定义图片加载;
  • 支持addHeaderView方式;
  • 指示器小红点动态移动;
  • 防闪屏花屏。

效果图

Image of 示例

Gradle

Step 1. Add the JitPack repository to your build file

dependencies {
    allprojects {
		repositories {
			maven { url "https://jitpack.io" }
		}
	}
}

Step 2. Add the dependency

dependencies {
    compile 'com.github.why168:LoopViewPagerLayout:1.0.6'
}

代码混淆

#LoopViewPagerLayout
-dontwarn com.github.why168
-keep class com.github.why168

API调用顺序

  • initializeView():初始化View
  • setLoop_ms:轮播的速度(毫秒)
  • setLoop_duration:滑动的速率(毫秒)
  • setLoop_style:轮播的样式(枚举值: -1默认empty,1深度1depth,2缩小zoom)
  • initializeData(Content):初始化数据
  • setLoopData(ArrayList, OnBannerItemClickListener):数据,回调监听
  • startLoop():开始轮播
  • stopLoop():停止轮播,务必在onDestory中调用

布局 LoopViewPagerLayout

<?xml version="1.0" encoding="utf-8"?>
<com.github.why168.LoopViewPagerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mLoopViewPagerLayout"
    android:layout_width="match_parent"
    android:layout_height="200dp" />

更优雅地使用API-调用顺序不能乱

 mLoopViewPagerLayout = (LoopViewPagerLayout)findViewById(R.id.mLoopViewPagerLayout);
 mLoopViewPagerLayout.initializeView();//初始化View
 mLoopViewPagerLayout.setLoop_ms(2000);//轮播的速度(毫秒)
 mLoopViewPagerLayout.setLoop_duration(1000);//滑动的速率(毫秒)
 mLoopViewPagerLayout.setLoop_style(LoopStyle.Empty);//轮播的样式-默认empty
 mLoopViewPagerLayout.initializeData(mActivity);//初始化数据
 ArrayList<LoopViewPagerLayout.BannerInfo> data = new ArrayList<>(4);
 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);

###回调函数

public interface OnBannerItemClickListener {
    /**
     * banner click
     *
     * @param index  subscript
     * @param banner bean
     */
    void onBannerClick(int index, ArrayList<BannerInfo> banner);
}

public interface OnLoadImageViewListener {
    /**
     * image load
     *
     * @param view   ImageView
     * @param object parameter
     */
    void onLoadImageView(ImageView view, Object object);
}

更新说明

  • 2016/06/12

    1. 省略
  • 2016/06/15

    1. 2.0版本再次进行封装,大更新!
    2. 增加LoopViewPager布局,把LoopViewPager和LinearLayout一起结合起来了,方便直接地通过view_loop_viewpager修改一些参数,低耦合高类聚的原则;
    3. 修复bug 滑倒第二图再次按住滑动,松开手之后会连续滑动2张图。
  • 2016/07/01

    1. 2.1版本更新!
    2. 因初始化多次,清空图片和小红点。感谢solochen提出的问题。(已经修复)
  • 2016/11/08 00:25

    1. 重构项目,1.0正式被发布,支持Gradle!
    2. 使用更方便
  • 2016/11/08 11:12

    1. 更改名字 LoopViewPagerLayout,1.0.5正式被发布
  • 2016/11/28 19:20

    1. 修复LoopViewPagerLayout的(layout_height)高度自适应,小红点显示错误bug,1.0.6正式被发布
  • 2016/12/01 00:08

    1. 父布局,子布局里面设置padding或者margin,宽高设置match_parent或者wrap_content小红点错位
    2. 解决默认数4个修改成动态值。
    3. 优化代码;
  • 2016/12/01 13:18

    1. 设计了一个回调方法,让用户自己定义图片加载。url参数支持泛型,回调回来的是Object根据实际情况强转
    2. 图片加载框架推荐:Glide,Picasso,Fresco

技术交流大本营

欢迎加入Android技术交流大群,群号码:554610222

Android技术交流,进群后请改名片.
例如:北京-李四.
群内交流以技术为主,乱发黄图乱发广告乱开车者一律踢.

Android技术交流大群


##License

opyright (c) 2016 GcsSloop

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

☺无限轮播ViewPagerLayout 广告栏 banner 多种滑动的样式 使用API简单明了

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

0