布局文件:
<com.example.MarqueeTextView
android:id="@+id/list_item_title"
android:layout_width="300dip"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:paddingLeft="40dip"
android:scrollHorizontally="true"
android:singleLine="true"
android:layout_weight="1"
android:textSize="20sp" />
代码片段:
新建一个类,继承textview,重写其中的方法,不需要做处理,类如下:
package com.example;
import android.content.Context;
import android.graphics.Rect;
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 defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onFocusChanged(boolean focused, int direction,
Rect previouslyFocusedRect) {
if(focused)
{
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
}
@Override
public void onWindowFocusChanged(boolean hasWindowFocus) {
if(hasWindowFocus)
super.onWindowFocusChanged(hasWindowFocus);
}
@Override
public boolean isFocused() {
return true;
}
}
在布局文件中把textview的宽度设置适当之后,显示出来,里面会出现跑马灯的效果