VerticalBannerView的简单实现 很好用
来源:互联网 发布:外贸海关数据有用吗 编辑:程序博客网 时间:2024/05/16 12:36
话不多少先来看图,直截了当
现在想很多 京东淘宝的首页都有这样的效果
首先要在整个项目的build.gradle中添加依赖
allprojects { repositories { maven { url "https://jitpack.io" } ...... }}然后在module的build.gradle中添加
compile 'com.github.Rowandjj:VerticalBannerView:1.0'
之后就可以使用了VerticalBannerView的使用方法和listview差不太多首先需要一个Bean类
在这里随便写一个
public class Model { String title; String url; public Model(String title, String url) { this.title = title; this.url = url; }}这里写了两个属性一个是给用户看的标题一个可以是用户点击时候跳转的网址或者是别的
然后需要一个适配器
class SampleAdapter extends BaseBannerAdapter<Model>{ public SampleAdapter(List<Model> datas) { super(datas); } @Override public View getView(VerticalBannerView verticalBannerView) { return LayoutInflater.from(MainActivity.this).inflate(R.layout.item,null); } @Override public void setItem(View view, final Model model) { //给控件赋值 TextView title=view.findViewById(R.id.title); ImageView img=view.findViewById(R.id.img); title.setText(model.title); title.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,model.title,Toast.LENGTH_SHORT).show(); } }); }}
大家看到了这里的适配器需要一个泛型这个泛型就是我们写好的bean类
这个也是需要一个子布局来实现内部效果的 大家可以根据自己随便定义
然后需要一个集合来存放数据实例化一个list集合泛型的刚才写好的bean类
在布局中增加view的声明
<com.taobao.library.VerticalBannerView android:id="@+id/banner_01" android:layout_width="match_parent" android:layout_height="40dp" app:animDuration="900" ---->动画间隔900ms app:gap="2000"/> ----->切换时长2000ms
然后实例化控件进行绑定
最后别忘了绑定数据之后还需要.start启动
之后还可以 调用.setData来更新数据 这里只需要重写一个list集合传进去
最后附上GitHub
阅读全文
0 0
- VerticalBannerView的简单实现 很好用
- 很好用的一个JS实现TabMenu
- js无缝滚动,很好用的jquery的,简单方便。
- 一个简单但很好用的线程锁
- 很好的瀑布流效果,简单易用
- iOS,侧滑(最简单效果却很好的侧滑功能实现
- 很好用的实例控件,用js实现
- JS MD5 算法实现。抄来的,很好用!
- sql中实现数组循环执行 很好用的
- 很好用的Matrix
- 很好用的KVO
- 很好用的leakcanary
- 使用VerticalBannerView实现垂直轮播广告(仿淘宝头条)
- php 导出excel 很简单很好用
- VerticalBannerView使用方法及解析
- TabEsay!简单的,好用的,扩展性很好,的,选项卡
- 一个很好的对象池实现
- GridView在写简单操作的时候真的很好用
- 宏实现奇偶位的交换,两个数最大值
- linux下devicetree中常用的of函数
- 关于IDEA的Could not autowire. No beans of "xxx"的问题
- CentOS 6.0下多个JDK安装部署
- 禅道bug等级说明
- VerticalBannerView的简单实现 很好用
- iOS开发 设置项目启动图和项目icon
- Numpy-ndarray对象
- 通过位运算高效求绝对值
- 从零开始搭建自己的VueJS2.0+ElementUI单页面网站(三、组件编写及通信)
- MSP430F5438A 内存Flash 读写操作
- 理解TCP backlog(已迁移)
- 禅道安装
- JDK1.5的新特性