亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

仿京東首頁的京東快報,自動向上滾動的廣告條

標簽:
Android

原文链接:http://www.apkbus.com/blog-625356-62083.html

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

效果图:

 5bada4a30001e2a502180384.jpg

原项目地址

原理是用的一个只显示一条的listview,使用ListView的smoothScrollBy(int distance, int duration)方法,实现滚动。

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

[代码]java代码:

?

1

2

3

4

5

6

7

8

if (position == -1) {

            scroll_Y   = 0;

        } else {

            scroll_Y   = mScrollY;

        }

        smoothScrollBy(scroll_Y,   2000);

        setSelection(position);

        position++;

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

数据的填充:

[代码]java代码:

?

1

2

3

viewHolder.mTitleView.setText(getTextTitle(data));

 viewHolder.mInfoView.setText(getTextInfo(data));

viewHolder.tv_price.setText(getTextPrice(data));

需要注意的是:

[代码]java代码:

?

1

2

3

4

5

6

7

/**

     * 这里面的高度应该和你的xml里设置的高度一致

     */

    @Override

    protected int getAdertisementHeight() {

        return 40;

    }

[代码]xml代码:

?

1

2

3

4

5

6

<com.tianer.mayatu.view.ScrollUpAdvert.MainScrollUpAdvertisementView

                       android:id="@+id/main_advertisement_view"

                       android:layout_width="0dp"

                       android:layout_height="<font   color="#f00000">40</font>dp"

                       android:layout_marginLeft="10dp"

                       android:layout_weight="2"></com.tianer.mayatu.view.ScrollUpAdvert.MainScrollUpAdvertisementView>

 


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消