Android TextView的marquee跑马灯无效的坑

首先获得相应的焦点。

网上很多前辈说过了,在布局文件中设置相应的焦点

       android:focusableInTouchMode="true"
        android:focusable="true"

亦或者重写TextView相应控件的方法。

    @Override
    public boolean isFocused() {
        return true;
    }

这边记录这个的原因是,我开始用Android Studio写这个跑马灯效果的时候。
发现无论是我用以上两个方法都没办法实现跑马灯的效果,就是不跑。各种方式都尝试,动态静态的获取焦点都尝试。

通过打印log也可以确定,控件获取了焦点了。但是就是无法出现跑马灯的效果。

后来干脆不理了(有时候想不出的时候,我们就应该去看看风景看看妹子)。

然后我回来一时无聊,就把

android:maxLines="1" 

改成

android:singleLine="true"

然后就跑起来了。。。。。。。。。
后就跑起来了。。。。。。。。。
就跑起来了。。。。。。。。。
跑起来了。。。。。。。
起来了。。。。。。。
来了。。。。。。。
了。。。。。。。


重点是当你在android studio 使用android:singleLine=”true”的时候,它会提示你。

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

你可能感兴趣的:(Android学习)