AndroidStudio——TextView文字左右滚动(跑马灯效果)无效解决办法

来源:互联网 发布:定时任务软件 编辑:程序博客网 时间:2024/05/20 20:18

TextView文本文字的左右滚动效果(跑马灯)的两种方式:

一、在布局文件中设置相应的焦点

<TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:singleLine="true"        android:focusable="true"        android:ellipsize="marquee"        android:marqueeRepeatLimit="marquee_forever"        android:text="**********"/>
二、继承AppCompatTextView,继承控件的三个方法,重写isFocused()方法,然后在布局文件中引用自定义控件的完整路径名

public class MyTextView extends AppCompatTextView {    public HomeTextView(Context context) {        super(context);    }    public HomeTextView(Context context, AttributeSet attrs) {        super(context, attrs);    }    public HomeTextView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    @Override    public boolean isFocused() {        return true;    }}
<com.demo.ui.MyTextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:singleLine="true"        android:ellipsize="marquee"        android:marqueeRepeatLimit="marquee_forever"        android:text="**********"/>
重点:必须使用android:singleLine="true"
不可以用
android:maxLines="1" 或  android:lines="1"代替,

代替之后就不会有滚动效果了,虽然会报这个警告......

android:singleLine is deprecated: UsemaxLines="1" instead less... (Ctrl+F1)

Deprecated views, attributes and so on are deprecated because there is a better way to do something. Do it that new way. You've been warned.     









1 0