Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
B

BulletinView

> 编程语言
Open source

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

197 stars0 likes0 views
WebsiteGitHub

About

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

BulletinView

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

预览图

Demo 下载体验

去蒲公英下载

使用

下载

compile 'me.bakumon:bulletinview:1.0.0'

自定义属性

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

XML

普通公告

效果图的第一种样式

默认提供了 SimpleBulletinAdapter 适配器。

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

复杂公告

效果图的第二种样式

需要创建适配器继承自 BulletinAdapter

public class SaleAdapter extends BulletinAdapter {

    public SaleAdapter(Context context, List 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 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();
    }
});

关于我

E-mail:[email protected]

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

Github: https://github.com/Bakumon

License

Copyright 2017 [email protected]

Licensed 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 at

  http://www.apache.org/licenses/LICENSE-2.0

Unless 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.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Javabulletin

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 18, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言