仿魅族应用的广告BannerView

2019-03-22  本文已影响0人  静染星辰

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

欢迎添加微信,互相学习,互相进步!

上一篇下一篇

猜你喜欢

热点阅读