Android TextView 中当文字比较多时希望它横向滚动显示,下面是一种亲测可行的方法。
效果图:
1.自定义TextView,重写isFocused()方法返回true,让自定义TextView一直处于获取焦点状态。
package com.example.shen.marqueedemo;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
/**
 * Created by shen on 2015/8/19.
 */
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" //一直滚动
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.example.shen.marqueedemo.MarqueeTextView
        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"/>
</RelativeLayout>
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/shenyuanqing/article/details/47789507