前言:当我们的在布局中TextView设置的显示空间有限时,这时如果TextView不能够显示全我们的数据时,可以考虑一跑马灯的方式进行显示
很简单直接上代码:
首先自定义一个TextView,其实主要是复写该方法。
@Override public boolean isFocused() { return true; }
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; } }
最后直接在xml文件中使用:主要设置该三个属性:
设置为重复
android:marqueeRepeatLimit="marquee_forever"
设置为单行显示
android:singleLine="true"
流水灯方式显示
android:ellipsize="marquee"
<com.android.video.customwidget.MarqueeTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/button_video" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:singleLine="true" android:text="跑马灯跑马灯。。。。。。跑马灯跑马灯。。。。。。跑马灯跑马灯。。。。。。跑马灯跑马灯。。。。。。跑马灯跑马灯。。。。。。" android:textColor="#666666" android:textSize="16sp"></com.android.video.customwidget.MarqueeTextView>