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

来源:互联网 发布:slam算法工程师招聘 编辑:程序博客网 时间:2024/05/23 00:23

先来看一下效果图

这里写图片描述

使用下载compile 'me.bakumon:bulletinview:1.0.0'自定义属性属性  描述  类型bulletinInterval    轮播间隔时间  毫秒,默认 3000bulletinEnterAnim   公告进入动画  动画资源 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