TextView_跑马灯
一个跑马灯
activity_main 布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="Hello_Hello_Hello_Hello_Hello_Hello_Hello_Hello_Hello_Hello"
android:textSize="50dp" />
</LinearLayout>
1.注意:使用android:maxLines=”1”属性 跑马灯就不滚动
2.android:singleLine=”true” 设置为不换行
3.android:maxLines=”1” 控制行数为1行
4.android:ellipsize=”start” 省略号显示在开头
5.android:ellipsize=”end” 省略号显示在结尾
6.android:ellipsize=”middle” 省略号显示在中间
7.android:ellipsize=”marquee” 以横向滚动方式显示(需获得当前焦点时)
8.android:marqueeRepeatLimit=”marquee_forever” 设置重复滚动的次数,当设置为marquee_forever时表示无限次
9.android:focusable=”true” 可聚焦的
多个跑马灯
MarqueeText
/**
* @功能 自定义TextView
* @说明 实现多个跑马灯TextView
* @说明 1.写三个构造方法
* @说明 2.实现isFocused()方法--->返回true
* @说明 isFocused() TextView是否在一个选中的状态上--->返回true强制 让多个TextView都在选中状态
*/
public class MarqueeText extends TextView {
public MarqueeText(Context context) {
super(context);
}
public MarqueeText(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public MarqueeText(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public boolean isFocused() {
return true;
}
}
activity_main 布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.yimin.myapplication.MarqueeText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="Hello_Hello_Hello_Hello_Hello_Hello_Hello_Hello_Hello_Hello"
android:textSize="50dp" />
<com.yimin.myapplication.MarqueeText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="World_World_World_World_World_World_World_World_World_World"
android:textSize="50dp" />
</LinearLayout>