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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32107121/article/details/70036148

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: Use maxLines="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.     









猜你喜欢

转载自blog.csdn.net/qq_32107121/article/details/70036148