失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【Android自定义控件】仿京东首页的京东快报 自动向上滚动的广告条

【Android自定义控件】仿京东首页的京东快报 自动向上滚动的广告条

时间:2020-11-19 10:24:37

相关推荐

【Android自定义控件】仿京东首页的京东快报 自动向上滚动的广告条

最近项目中要做这样滚动的广告条,git上搜了搜,还真搜到个。效果图:

原项目地址原理是用的一个只显示一条的listview,使用ListView的smoothScrollBy(int distance, int duration)方法,实现滚动。注意:通过smoothScrollBy方法滚动时,由于布局中的高度时dp,但这里面的第一个参数是sp,因此需要将dp转sp,转换完毕后的是float,但方法中是需要int,这样的话有可能导致小数位的丢失,自动滚动产生偏差,可以通过setSelection(int position)方法纠正位置,在smoothScrollBy方法调用后执行setSelection方法。

[代码]java代码:

if (position == -1) {scroll_Y = 0;} else {scroll_Y = mScrollY;}smoothScrollBy(scroll_Y, 2000);setSelection(position);position++;

至于广告栏的内容,可以自定义:参考item_layout.xml数据的填充:

[代码]java代码:

viewHolder.mTitleView.setText(getTextTitle(data));viewHolder.mInfoView.setText(getTextInfo(data));viewHolder.tv_price.setText(getTextPrice(data));

需要注意的是:

[代码]java代码:

/*** 这里面的高度应该和你的xml里设置的高度一致*/@Overrideprotected int getAdertisementHeight() {return 40;}

[代码]xml代码:

<com.tianer.mayatu.view.ScrollUpAdvert.MainScrollUpAdvertisementViewandroid:id="@+id/main_advertisement_view"android:layout_width="0dp"android:layout_height="40dp"android:layout_marginLeft="10dp"android:layout_weight="2"></com.tianer.mayatu.view.ScrollUpAdvert.MainScrollUpAdvertisementView>

如果觉得《【Android自定义控件】仿京东首页的京东快报 自动向上滚动的广告条》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。