android跑马灯

来源:互联网 发布:淘宝直通车定向推广 编辑:程序博客网 时间:2024/06/07 22:57

以前做过跑马灯的需求,今天又遇到了,再此mark下。
自定义TextView:

package com.adups.fota;import android.content.Context;import android.graphics.Rect;import android.text.TextUtils;import android.util.AttributeSet;import android.widget.TextView;/** * Created by wilson on 2017/5/31. */public class MyTextView extends TextView {    public MyTextView(Context context) {        super(context);        createView();    }    public MyTextView(Context context, AttributeSet attrs) {        super(context, attrs);        createView();    }    public MyTextView(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        createView();    }    private void createView() {        setEllipsize(TextUtils.TruncateAt.MARQUEE);        setMarqueeRepeatLimit(-1);        setFocusableInTouchMode(true);    }    @Override    protected void onFocusChanged(boolean focused, int direction,                                  Rect previouslyFocusedRect) {        if (focused) {            super.onFocusChanged(focused, direction, previouslyFocusedRect);        }    }    @Override    public void onWindowFocusChanged(boolean focused) {        if (focused) {            super.onWindowFocusChanged(focused);        }    }    @Override    public boolean isFocused() {        return true;    }}

布局引用:

<com.adups.fota.MyTextView                android:singleLine="true"

通过复写isFocused()为true就可以实现多个TextView同时跑马灯的效果

原创粉丝点击