公告栏轮播,也可用于商品个性垂直轮播展示

先来看一下效果图

这里写图片描述

使用

下载

compile 'me.bakumon:bulletinview:1.0.0'
自定义属性

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

<me.bakumon.library.view.BulletinView
    android: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);
    }

    @Override
    public View getView(int position) {
        // 获取 item 根 view
        View view = getRootView(R.layout.item_sale);
        // 实例化子 View
        TextView tVSaleTitle = (TextView) view.findViewById(R.id.tv_sale_title);
        // 获取当前 bean
        SaleEntity 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() {
    @Override
    public void onBulletinItemClick(int position) {
        Toast.makeText(MainActivity.this, "click:" + position, Toast.LENGTH_SHORT).show();
    }
});

github 下载 demo 地址 https://github.com/Bakumon/BulletinView

安卓开发交流群 : 595856941

flutter移动电商视频68节讲解 第01节:课程介绍 第02节:建立项目和编写入口文件 第03节:底部导航栏制作 第04节:打通底部导航栏 第05节:dio基础_引入和简单的Get请求 第06节:dio基础_Get请求和动态组件协作 第07节:dio基础_POST请求的使用 第08节:dio基础_伪造请求头获取数据 第09节:移动商城数据请求实战(好戏开始) 第10节:使用FlutterSwiper制作轮播效果 第11节:首页_屏幕适配方案和制作 第12节:首页导航区域编写 第13节:ADBanner组件的编写 第14节:首页_拨打电话操作 第15节:商品推荐区域制作 第16节:补充_切换后页面状态的保持 第17节:首页_楼层区域的编写 第18节:首页_火爆专区商品接口制作 第19节:首页_火爆专区界面制作 第20节:首页上拉加载更多功能的制作 第21节:列表页类别数据接口调试 第22节:JSON解析与复杂模型转换技巧 第23节:列表页大类展示效果制作 第24节:Provide状态管理基础 第25节:列表页_使用Provide控制子类-1 第26节:列表页_使用Provide控制子类-2 第27节:列表页现有Bug的完善 第28节:列表页_商品列表接口调试 第29节: 列表页_商品列表数据模型的建立 第30接:列表页_商品列表UI布局 第31节:列表页_商品列表交互效果制作 第32节:列表页_小类高亮交互效果制作 第33节:列表页_子类和商品列表切换 第34节:列表页_小Bug的修复 第35节:列表页_上拉加载功能的制作 第36节:Fluttertoast组件的介绍 第37节:路由_fluro引入和商品详细页建立 第38节:路由_fluro中Handler文件编写 第39节:路由_fluro的路由配置和静态化 第40节:路由_fluro的全局注入和使用 第41节:详细页_后台数据接口调试 第42节:详细页UI主页面架构搭建 第43节:路由_补充首页跳转到详细页 第44节:详细页_首屏自定义Widget编写 第45节:详细页_说明区域UI编写 第46节:详细页_自建TabBar Widget 第47节:详细页Flutterhtml插件的使用 第48节:详细页_详情和评论切换效果制作 第49节:详细页页_Stack作底部操作栏 第50节:持久化sharedpreferences基础1 第51节:购物车_添加商品 第52节:购物车_建立数据模型 第53节:购物车_大体结构布局 第54节:购物车_商品列表子项组件编写 第55节:购物车_制作底部结算栏的UI 第56节:购物车_制作数量加减按钮UI 第57节:购物车_在Model中增加选中字段 第58节:购物车_删除单个商品功能制作 第59节:购物车_计算商品价格和数量 第60节:购物车_商品选中功能制作 第61节:购物车_商品数量的加减操作 第62节:购物车_首页Provide化 让跳转随心所欲 第63节:购物车_详细页显示购物车商品数量 第64节:会员中心_首页头部布局 第65节:会员中心_订单区域UI编写 第66节:会员中心_编写ListTile的通用方法 第67课:加餐_高德地图插件的使用 第68节:加餐_极光推送插件使用-1 第69节:加餐_极光推送插件使用-2 后端接口API文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值