自定义view————Banner轮播
今天给大家项目中应用很广泛的Banner轮播,每一个app都会用到这个,并且有时候会在多处去应用,这时候就在想了,把Banner轮播写成自定义view,直接传显示数据,接受点击事件的回调。在自己的实际项目中,可以根据自身的效果稍作修改,客官们,先上图(这次全部选择的是女神刘亦菲的照片)
各位客官,效果看了是否满意呀,来分析一下流程:viewpager+自身的监听方法+Handler实现滑动切换banner和banner轮播自身循环
显示view的选择
根据效果图,我们选取FrameLayout为父布局,里面用ViewPager+LinearLayout(代码中再去设置选择和未选择的状态)
|
|
将需要显示的view添加到自定义view中去显示,因为FrameLayout是父布局,我们这里也是继承FrameLayout去自定义view
这里在onFinishInflate()方法中去添加view,可以去了解一下onFinishInflate()的用法
根据假数据显示内容
实际项目中,数据都是传递过来的,我们也采用info传值过来的,然后根据数据进行显示的相关设置,后期可根基自己项目的info去修改
|
|
数据有了,就要有数据设置的方法和拿数据做展示
继承PagerAdapter去显示banner轮播中的照片
layout_page.addview()去添加效果图中的小圆点
addOnPageChangeListener()实现左右切换
|
|
继承PagerAdapter去显示banner轮播中的照片
|
|
addOnPageChangeListener()实现左右切换,实现OnPageChangeListener,来回切换,照片显示改变,小圆点的选中与未选中也跟着改变
|
|
无限循环轮播
实际项目中的banner轮播是无限循环轮播的,这里我们使用Handler来达到预期的效果
|
|
方法写完了,什么去触发了,我这里是在设置数据后调用,调用方法如下
|
|
刷新方法
实际项目中banner轮播是要有刷新方法的,其实刷新方法和设置数据方法类似
点击事件回调
我们将点击事件后的结果进行回调,采用接口,设置相关监听方法,在使用中直接拿到数据进行跳转
|
|
接口准备好了,在什么时候去调用了,当然是在banner点击的时候去调用呀,上面注释todo的地方去将接口进行回调
|
|
代码中使用
xml布局
java代码中使用,第一次设置数据,模拟刷新数据,点击事件跳转模拟
|
|