preview
跑马灯,在安卓中其实就是文字水平滚动的效果
exercise
1.只有一个跑马灯的情况
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:text="@string/text" />
2.两个跑马灯及以上
第一步,先创建一个java文件继承TextView
public class Marquee extends TextView {
public Marquee(Context context) {
super(context);
}
public Marquee(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public Marquee(Context context, AttributeSet attrs) {
super(context, attrs);
}
public boolean isFocused(){
return true;
}
}
第二步,在xml文件下修改
把TextView控件的头部换成这个新建类的“包名.类名”
如果不这样的话,只有第一个TextView有focused
导致效果是:这两个TextView只有第一个有跑马灯效果
<com.example.lengary_l.test2.Marquee
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:text="@string/text" />
<com.example.lengary_l.test2.Marquee
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20sp"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:text="@string/text" />