天天看点

android跑马灯效果横向,Android TextView 横向滚动(跑马灯效果)

Android TextView 中当文字比較多时希望它横向滚动显示,以下是一种亲測可行的方法。

效果图:

android跑马灯效果横向,Android TextView 横向滚动(跑马灯效果)

1.自己定义TextView,重写isFocused()方法返回true,让自己定义TextView一直处于获取焦点状态。

package com.example.shen.marqueedemo;

import android.content.Context;

import android.util.AttributeSet;

import android.widget.TextView;

public class MarqueeTextView extends TextView {

public MarqueeTextView(Context context) {

super(context);

}

public MarqueeTextView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

}

@Override

public boolean isFocused(){

return true;

}

}

2.布局文件

android:sigleLine="true" //单行

android:ellipsize="marquee" //以跑马灯的方式显示(动画横向移动)

android:marqueeRepeatLimit="marquee_forever" //一直滚动

android:layout_width="match_parent"

android:layout_height="match_parent">

android:layout_width="200dp"

android:layout_height="wrap_content"

android:text="hello_world! hello_world! hello_world! "

android:layout_centerInParent="true"

android:ellipsize="marquee"

android:singleLine="true"

android:marqueeRepeatLimit="marquee_forever"/>