让TextView 实现 跑马灯效果 还必须设置其他几个属性,
android:ellipsize="marquee"
android:singleLine="true"
android:focusable="true"
android:focusableInTouchMode="true"
TextView类 的完整代码如下 :
/**
* 一个可以一直获取焦点的TextView , 用于制作跑马灯的效果
* @author dcqing
* @time 2016-26-25
*/
public class MarqueeTextView extends TextView {
public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public MarqueeTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MarqueeTextView(Context context) {
super(context);
}
@Override
public boolean isFocused() {
return true;
}
}
布局界面代码如下:
<com.dcqing.test.MarqueeTextView
android:id="@+id/text"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:ellipsize="marquee"
android:singleLine="true"
android:text="p跑马灯效果实现" />