Need help with VerticalBannerView?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

guojunustb
437 Stars 126 Forks 11 Commits 0 Opened issues

Description

a vertical banner view in android.you can find it in 淘宝app、京东app...

Services available

!
?

Need anything else?

Contributors list

# 316,566
Java
2 commits
# 34,038
weex
C++
Objecti...
iOS
1 commit

VerticalBannerView

VerticalBannerView
是一个android平台下的自定义控件,通常用来展示广告,类似
淘宝头条
,它的样式如下:

Feature

  1. 可自由定义展示的内容
  2. 使用方式类似ListView/RecyclerView
  3. 可为当前的内容添加各种事件,比如点击打开某个页面等

Attention

API >= 11

Usage

可以类比

ListView
  1. 添加依赖
- Add it in your root build.gradle at the end of repositories:

```

    allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }
```
  • Add the dependency

    dependencies {
                compile 'com.github.Rowandjj:VerticalBannerView:1.0'
        }

  1. 定义item的布局

  2. 实现adapter

    public class SampleAdapter01 extends BaseBannerAdapter {
    
    

    private List mDatas;

    public SampleAdapter01(List datas) {

      super(datas);

    }

    @Override public View getView(VerticalBannerView parent) {

      return LayoutInflater.from(parent.getContext()).inflate(R.layout.item_01,null);

    }

    @Override public void setItem(final View view, final Model01 data) {

      TextView tv = (TextView) view.findViewById(R.id.tv_01);
      tv.setText(data.title);
      //你可以增加点击事件
      view.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              //比如打开url
              Toast.makeText(view.getContext(),data.url,Toast.LENGTH_SHORT).show();
          }
      });

    } }

  3. 在布局中增加view的声明

       动画间隔900ms
              app:gap="2000"/> ----->切换时长2000ms
    
  4. 设置Adapter并启动

    List datas02 = new ArrayList<>();
    datas02.add(new Model01("Life was so beautiful","--->Life was so beautiful,"));
    datas02.add(new Model01("From morning to evening","--->From morning to evening"));
    datas02.add(new Model01("We enjoyed the road to school","--->We enjoyed the road to school,"));
    datas02.add(new Model01("Birds chirped and Peace lingered","--->Birds chirped and Peace lingered"));
    final SampleAdapter02 adapter02 = new SampleAdapter02(datas02);
    final VerticalBannerView banner02 = (VerticalBannerView) findViewById(R.id.banner_02);
    banner02.setAdapter(adapter02);
    banner02.start();
    
  5. 更新数据

    List newData = new ArrayList<>();
    newData.add(new Model01("锄禾日当午","--->锄禾日当午"));
    newData.add(new Model01("汗滴禾下土","--->汗滴禾下土"));
    newData.add(new Model01("谁知盘中餐","--->谁知盘中餐"));
    newData.add(new Model01("粒粒皆辛苦","--->粒粒皆辛苦"));
    adapter02.setData(newData);
    
    
  6. 停止

    banner02.stop();
    

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.