Android文字輪播~可垂直可水平跑馬燈

前言:

現(xiàn)在的絕大數(shù)APP特別是類似淘寶京東等這些大型APP都有文字輪播界面,實現(xiàn)循環(huán)輪播多個廣告詞等功能;這種空間俗稱“跑馬燈”,而TextBannerView已經實現(xiàn)了可垂直跑、可水平跑的跑馬燈了。

效果圖

textbanner.gif

Download Apk

源碼下載(歡迎star):GitHub

Attributes屬性(TextBannerView布局文件中調用)

Attributes forma describe
setInterval integer 文字切換時間間隔,默認3000
setAnimDuration integer 動畫持續(xù)時間,默認1500
setTextSize dimension 設置文字尺寸
setTextColor color 設置文字顏色,默認黑色
setSingleLine boolean 是否為顯示單行
setGravity 文字顯示位置,默認左邊居中;可設置left、center、right
setDirection 文字輪播方向,默認水平從右到左輪播:right_to_left;還可以設置left_to_right(從左到右輪播)、bottom_to_top(從底部到頂部輪播)、top_to_bottom(從頂部到底部輪播)

方法

方法名 描述 版本限制
setDatas(List datas) 設置數(shù)據(jù),類型:List
startViewAnimator() 設置開始文字切換(默認自動)
stopViewAnimator() 設置暫停文字切換
setItemOnClickListener(listener) 設置點擊監(jiān)聽事件回調
setDatasWithDrawableIcon() 設置帶圖標的數(shù)據(jù);第一個參數(shù):數(shù)據(jù) 。第二參數(shù):drawable. 第三參數(shù)drawable尺寸。第四參數(shù)圖標位置(僅支持Gravity.LEFT、Gravity.TOP、Gravity.RIGHT、Gravity.BOTTOM) 1.0.2開始

使用步驟

Step 1.依賴TextBannerView

Gradle

dependencies{
    compile 'com.superluo:textbannerview:1.0.2'  //最新版本
}

或者引用本地lib

compile project(':textbannerlibrary')

Maven

<dependency>
  <groupId>com.superluo</groupId>
  <artifactId>textbannerview</artifactId>
  <version>1.0.2</version>
  <type>pom</type>
</dependency>

Step 2.在布局文件中添加TextBannerView,可以設置自定義屬性

<com.superluo.textbannerlibrary.TextBannerView
        android:id="@+id/tv_banner"
        android:layout_width="match_parent"
        android:layout_height="38dp"
        android:background="#cc8ac6"
        app:setGravity="right"
        app:setTextColor="#fff"/>

Step 3.在Activity或者Fragment中配置TextBannerView

//初始化TextBannerView
TextBannerView tvBanner = (TextBannerView) findViewById(R.id.tv_banner);

//設置數(shù)據(jù)
List<String> list = new ArrayList<>();

list.add("學好Java、Android、C#、C、ios、html+css+js");
list.add("走遍天下都不怕?。。。?!");
list.add("不是我吹,就怕你做不到,哈哈");
list.add("superluo");
list.add("你是最棒的,奔跑吧孩子!");

//調用setDatas(List<String>)方法后,TextBannerView自動開始輪播
//注意:此方法目前只接受List<String>類型
tvBanner.setDatas(mList);

Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
/**這里可以設置帶圖標的數(shù)據(jù)(1.0.2新方法),比setDatas方法多了帶圖標參數(shù);
第一個參數(shù):數(shù)據(jù) 。
第二參數(shù):drawable. 
第三參數(shù):drawable尺寸。
第四參數(shù):圖標位置僅支持Gravity.LEFT、Gravity.TOP、Gravity.RIGHT、Gravity.BOTTOM
*/
mTvBanner.setDatasWithDrawableIcon(mList,drawable,18, Gravity.LEFT);


//設置TextBannerView點擊監(jiān)聽事件,返回點擊的data數(shù)據(jù), 和position位置
tvBanner.setItemOnClickListener(new ITextBannerItemClickListener() {
            @Override
            public void onItemClick(String data, int position) {
                Log.i("點擊了:",String.valueOf(position)+">>"+data);
            }
        });

就這么簡單!

源碼下載(歡迎star):GitHub

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容