ViewFlipper-仿淘宝垂直广告滚动

先上淘宝效果图吧:


6748497-5f5dfe1883b9892e.png
淘宝.png

实现视频:



undefined_腾讯

undefined_腾讯视频

实现步骤:

MainActivity.xml .都有注释不解释。


6748497-d6bdfbf18eb5feec.png

viewflipper的子布局item_viewflipper.xml,下面是效果图,自己写,不会没招。


6748497-9b8465e85bbad5ec.png


主要代码:

//初始化和监听省略。。。。。

//数据源,我这个是由两list存储数据源,分别对应上一个广告内容和下一个广告内容。

listData= new LinkedList<>();

listDataTwo= new LinkedList<>();

//填充数据

for (int i = 0; i < 10; i++) {

    listData.add(getTel());

    listDataTwo.add(getTel());

//子布局view

childView= View.inflate(this, R.layout.item_viewflipper, null);

//垂直广告第一个textview

adOne= childView.findViewById(R.id.tv_advertisingone);

adOne.setOnClickListener(this);

//垂直广告第二个textview

adTwo= childView.findViewById(R.id.tv_advertisingtwo);

adTwo.setOnClickListener(this);

//设置内容

    adOne.setText(i+1 +"期中奖号码是:" + listData.get(i));

    adTwo.setText(i+1 +"期中奖号码是:" +listDataTwo.get(i));

    //添加到ViewFlipper

    mViewFlipper.addView(childView);

}

这部分完成viewflipper就有数据了,可以滚动了。

那么如何获取点击数据呢?主要方法是:


//获取当前ViewFlipper展现view的下标和数据源对应,很重要

int currentChild=mViewFlipper.getDisplayedChild();

//获取点击数据方式一:

//  String currentContent=listData.get(currentChild);

//获取点击数据方式二:

View currentView =mViewFlipper.getCurrentView();

TextView mTextView =currentView.findViewById(R.id.tv_advertisingone);

TextView mTextViewTwo =currentView.findViewById(R.id.tv_advertisingtwo);

  String currentContent=mTextView.getText().toString();

  String currentContentTwo=mTextViewTwo.getText().toString();

完毕!


项目已上传个github,地址:

https://github.com/searchdingding/ViewFlipper

GitHub - searchdingding/ViewFlipper

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛之涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值