未用自定义TextView实现跑马灯代码:
android:focusableInTouchMode="true"
android:singleLine="true"
android:ellipsize="marquee"
android:text="未使用自定义TextView的跑马灯效果"
android:textSize="18sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
下面使用自定义TextView实现跑马灯:
package com.zebra.mobilesafe.ui;
import android.content.Context;
import android.util.AttributeSet;
import android.view.ViewDebug.ExportedProperty;
import android.widget.TextView;
/**
* 自定义一个TextView,是他天生就有焦点
* @author Administrator
*
*/
public class FocusTextView extends TextView {
public FocusTextView(Context context,AttributeSet attrs,int defStyle) {
super(context,attrs,defStyle);
// TODO Auto-generated constructor stub
}
public FocusTextView(Context context,AttributeSet attrs) {
super(context,attrs);
// TODO Auto-generated constructor stub
}
public FocusTextView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
/**
* 欺骗Android系统,让当前没有焦点的判断为true,实现button效果
*/
@Override
@ExportedProperty(category = "focus")
public boolean isFocused() {
// TODO Auto-generated method stub
return true;
}
}
然后在android的xml文件中,引用自定义实现,路径要是类的绝对路径
android:singleLine="true"
android:ellipsize="marquee"
android:text="使用自定义TextView的跑马灯效果"
android:textSize="18sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
这样就可以在TextView中实现跑马灯效果了。