仿魅族应用的广告BannerView
github: https://github.com/pinguo-zhouwei/MZBannerView
本文主要记录使用方法
封装轮子:MZBannerView
MZBannerView 有以下功能:
1 . 仿魅族BannerView 效果。
2 . 当普通Banner 使用
3 . 当普通ViewPager 使用。
4 . 当普通ViewPager使用(有魅族Banner效果)
自定义属性
属性名属性意义取值
open_mz_mode是否开启魅族模式true 为魅族Banner效果,false 则普通Banner效果
canLoop是否轮播true 轮播,false 则为普通ViewPager
indicatorPaddingLeft设置指示器距离左侧的距离单位为 dp 的值
indicatorPaddingRight设置指示器距离右侧的距离单位为 dp 的值
indicatorAlign设置指示器的位置有三个取值:left 左边,center 剧中显示,right 右侧显示
通过open_mz_mode和canLoop这两个属性来控制MZBannerView 是用作Banner还是普通ViewPager,有4种组合方式
1,仿魅族BannerView(默认的模式)
app:open_mz_mode="true"app:canLoop="true"
2, 普通BannerView
app:open_mz_mode="false"app:canLoop="true"
3 ,普通ViewPager (有魅族Banner的切换动画)
app:open_mz_mode="true"app:canLoop="false"
4, 普通ViewPager
app:open_mz_mode="false"app:canLoop="false"
使用方法:
1 . xml 布局文件
2 . activity中代码:
3 .如果是当Banner使用,注意在onResume 中调用start()方法,在onPause中调用 pause() 方法。如果当普通ViewPager使用,则不需要。
其他对外API
因为是对ViewPager的包装,所有要设置某些ViewPager的属性,可以通过getViewPager 获取到ViewPager再设置对应属性
实际使用过程:需要实现一个无限循环横向滑动并且页面等比显示三个item且添加点击事件
修改内容如下:
在MZBannerView类中获取到ViewPager,对ViewPager的设置padding,将padding动态设置成屏幕宽度的三分之一(此处注意设置padding不可更换为设置setMargins,虽也可实现页面,但点击事件无法获取),使用时将MZBannerView设置为仿魅族BannerView(默认的模式)
--------END------
我是静染星辰,私人微信:azxy986753
欢迎添加微信,互相学习,互相进步!