安卓可垂直跑、可水平跑的跑馬燈的開源庫

安卓集成開源庫MarqueeView實現跑馬燈效果

XML

<com.sunfusheng.marqueeview.MarqueeView
    android:id="@+id/marqueeView"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    app:mvAnimDuration="1000"
    app:mvDirection="bottom_to_top"
    app:mvInterval="3000"
    app:mvTextColor="@color/white"
    app:mvTextSize="14sp"
    app:mvSingleLine="true"
    app:mvFont="@font/huawenxinwei"/>

設置字符串列表數據,或者設置自定義的Model數據類型

MarqueeView marqueeView = (MarqueeView) findViewById(R.id.marqueeView);

List<String> messages = new ArrayList<>();
messages.add("1. 大家好,我是孫福生。");
messages.add("2. 歡迎大家關注我哦!");
messages.add("3. GitHub帳號:sunfusheng");
messages.add("4. 新浪微博:孫福生微博");
messages.add("5. 個人博客:sunfusheng.com");
messages.add("6. 微信公衆號:孫福生");
marqueeView.startWithList(messages);

// 或者設置自定義的Model數據類型
public class CustomModel implements IMarqueeItem {
    @Override
    public CharSequence marqueeMessage() {
        return "...";
    }
}

List<CustomModel> messages = new ArrayList<>();
marqueeView.startWithList(messages);

// 在代碼裏設置自己的動畫
marqueeView.startWithList(messages, R.anim.anim_bottom_in, R.anim.anim_top_out);

設置字符串數據

String message = "心中有陽光,腳底有力量!心中有陽光,腳底有力量!心中有陽光,腳底有力量!";
marqueeView.startWithText(message);

// 在代碼裏設置自己的動畫
marqueeView.startWithText(message, R.anim.anim_bottom_in, R.anim.anim_top_out);

設置事件監聽

marqueeView.setOnItemClickListener(new MarqueeView.OnItemClickListener() {
    @Override
    public void onItemClick(int position, TextView textView) {
        Toast.makeText(getApplicationContext(), String.valueOf(marqueeView1.getPosition()) + ". " + textView.getText(), Toast.LENGTH_SHORT).show();
    }
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章