BulletinView

项目地址:Bakumon/BulletinView 

简介::camel: 万能的公告栏轮播 View,也可用于商品个性垂直轮播展示

更多:作者   提 Bug

标签:

:camel: 万能的公告栏轮播 View,也可用于商品个性垂直轮播展示

预览图

Demo 下载体验

去蒲公英下载

使用

下载

compile 'me.bakumon:bulletinview:1.0.0'

自定义属性

属性 描述 类型
bulletinInterval 轮播间隔时间 毫秒,默认 3000
bulletinEnterAnim 公告进入动画 动画资源 ID,默认渐入平移
bulletinLeaveAnim 公告离开动画 动画资源 ID,默认渐出平移

XML

<me.bakumon.library.view.BulletinViewandroid:id="@+id/bulletin_view"android:layout_width="match_parent"android:layout_height="wrap_content"app:bulletinEnterAnim="@anim/bulletin_item_enter"app:bulletinLeaveAnim="@anim/bulletin_item_leave"app:bulletinInterval="3000" />

普通公告

效果图的第一种样式

默认提供了 SimpleBulletinAdapter 适配器。

mBulletinView = (BulletinView) findViewById(R.id.bulletin_view);
List<String> list = new ArrayList<>();
list.add("智能数码手表 12 期免息!");
list.add("领券家电立减 800");
mBulletinView.setAdapter(new SimpleBulletinAdapter(this, list));

复杂公告

效果图的第二种样式

需要创建适配器继承自 BulletinAdapter<T>

public class SaleAdapter extends BulletinAdapter<SaleEntity> {public SaleAdapter(Context context, List<SaleEntity> data) {super(context, data);}@Overridepublic View getView(int position) {// 获取 item 根 viewView view = getRootView(R.layout.item_sale);// 实例化子 ViewTextView tVSaleTitle = (TextView) view.findViewById(R.id.tv_sale_title);// 获取当前 beanSaleEntity saleEntity = mData.get(position);// 设置 view 显示的值tVSaleTitle.setText(saleEntity.saleTitle);return view;}
}

给 BulletinView 设置自定义的 Adapter 即可。

mBulletinViewSale = (BulletinView) findViewById(R.id.bulletin_view_sale)
List<SaleEntity> saleEntities = new ArrayList<>();// ...
// 省略 new 对象操作saleEntities.add(saleEntity);
saleEntities.add(saleEntity1);
mBulletinViewSale.setAdapter(new SaleAdapter(this, saleEntities));

设置点击事件监听

mBulletinView.setOnBulletinItemClickListener(new BulletinView.OnBulletinItemClickListener() {@Overridepublic void onBulletinItemClick(int position) {Toast.makeText(MainActivity.this, "click:" + position, Toast.LENGTH_SHORT).show();}
});
`

关于我

E-mail:bakumon@aliyun.com

个人博客: https://www.bakumon.me/

Github: https://github.com/Bakumon

License

Copyright 2017 bakumon@aliyun.comLicensed 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 athttp://www.apache.org/licenses/LICENSE-2.0Unless 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.

万能的公告栏轮播 View,也可用于商品个性垂直轮播展示相关推荐

  1. 自定义VIEW实现应用内消息提醒上下轮播

    开题贴上这张图,相信我不解释今天分享的内容,大家也已经知道了,接下来我就结合代码为大家讲解一下,这个消息自动轮播VIEW的具体实现方式. 需求分析: 1.在ITEM上随着一条消息滑出之后,下一条消息自 ...

  2. html5圆形图片轮播,jQuery超酷响应式圆形图片轮播图特效

    mislider是一款效果非常酷的jQuery响应式圆形图片轮播图特效插件.该轮播图特效可以将图片以圆形图片显示,然后使图片无限循环形成轮播图或旋转木马特效.该轮播图插件的特点有: 使用简单 在同一个 ...

  3. 解决ajax异步请求数据后swiper不能循环轮播(loop失效)问题、滑动后不能轮播的问题。

    解决ajax异步请求数据后swiper不能循环轮播(loop失效)问题.滑动后不能轮播的问题. 参考文章: (1)解决ajax异步请求数据后swiper不能循环轮播(loop失效)问题.滑动后不能轮播 ...

  4. android 层叠轮播,vue手写一个卡片化层叠轮播(支持滑动,移动端连续滚动,点击)...

    项目需求,需要写一个卡片化层叠的轮播,找了下插件都没有合适的,于是写了一个展示5个卡片的轮播 先看效果图: 卡片化层叠轮播 5个卡片要计算各自的高度,宽度,利用相对定位计算出各自的位置 然后trans ...

  5. html点击小图轮播图,使用纯CSS实现点击轮播图效果,无js。

    使用纯CSS实现图片轮播效果 首先我们来看一下所实现轮播图的最终效果: 轮播图 效果 接下来为html+css代码部分: 以下为HTML代码部分: 以下为CSS代码部分: *{ margin:0; p ...

  6. 响应式html轮播图,最简单的响应式jQuery轮播图插件

    easySlider.js是一款轻量级.简单易用的响应式jQuery轮播图插件.easySlider.js可以根据视口的大小来动态修改轮播图的尺寸.它压缩后的版本仅5K大小,简单实用. 使用方法 在页 ...

  7. php实现轮播图代码,微信小程序实例:轮播图的代码实现与分析

    本篇文章给大家带来的内容是关于微信小程序实例:轮播图的代码实现与分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 本文来说说轮播图,最常见的一个轮播图,中间带小圆点,自动轮播. S ...

  8. Echarts自动轮播插件echarts-auto-tooltip的使用(附停止轮播的方法)

    Echarts自动轮播插件echarts-auto-tooltip的使用(附停止轮播的方法) echarts-auto-tooltip使用方法: //引入echarts-auto-tooltip.js ...

  9. iphone播客怎么上传_如何通过限制播客下载来在Mac或iPhone上节省空间

    iphone播客怎么上传 Podcasts are a great way to pass the time on long drives, or during long bouts of tedio ...

最新文章

  1. python基础语法手册format-python基础_格式化输出(%用法和format用法)
  2. Python进阶_wxpy学习:常见问题
  3. Java执行程序服务类型
  4. python涉及到的逻辑_涉及逻辑运算的python表达式的运算顺序
  5. 国内最全最详细的hadoop2.2.0集群的HA高可靠的最简单配置
  6. java实现冗余校验_循环冗余校验_循环冗余校验码计算_循环冗余校验 java实现(6)...
  7. C++数据结构与算法 竞赛树, 二叉搜索树
  8. Manacher's algorithm: 最长回文子串算法
  9. mac sqlite可视化工具_Navicat for SQLite 12 for mac(强大数据库管理及开发工具)
  10. 解决mavencommons-cli:commons-cli:jar:1.0 下载不下来的错误
  11. epoll nio区别_什么是BIO,NIO与AIO
  12. 虹膜识别应用多样化 6亿美元市场待挖掘
  13. SQL Server 2005利用分区对海量数据的处理
  14. 2019年网络工程师考试大纲
  15. 夜神模拟器7.12 安装 xposed
  16. 浮点数float累加误差解决方式总结
  17. Python实现特定格式的时间差自动计算
  18. python 条形图显示数值_如何在条形图的条形图中显示数值?
  19. 我的2016——程序员年到三十,工作第四年
  20. 饱受争议的区块链手机兴衰史

热门文章

  1. 如何进行微信公众平台的后台开发
  2. jpa多表联查动态_jpa多表关联动态查询(自定义sql语句)
  3. 一个简单的CPU降温方法.
  4. DBCO-PEG-4ARM,四臂聚乙二醇二苯基环辛炔,4Arm PEG-DBCO
  5. QT制作TCP客户端
  6. 10个技巧!实现Vue.js极致性能优化(建议收藏)
  7. 15、DOM常见的操作方式
  8. [附源码]SSM计算机毕业设计校园摄影爱好者交流网站JAVA
  9. TCHAR与char的区别
  10. mysql分区表truncate分区数据_详解MySQL分区表