微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Androidd Studio 之多行文字跑马灯特效

 

效果展示图

  

•参考资料

  两种方法实现TextView跑马灯效果(字体横向滚动)

•出现的问题

  新建 Java 文件继承 TextView 时出现问题:

    

解决方法

  不应该继承 $TextView$ 而应该继承 $AppCompatTextView$;

  此时,可能还会报错:

    

 

   不要慌,问题不大,在类里加入如下代码即可解决问题:

public MyTextView(Context context) {
    super(context);
}

•多行文字跑马灯

  • 新建一个java文件,并命名为 $MyTextView$,继承 $AppCompatTextView$,重写 $TextView$ 的三个方法
  • 在布局中把要使用跑马灯效果的 $Textview$ 换成 $MyTextView$ 即可

  MyTextView.java 代码

public class MyTextView extends AppCompatTextView {


    public MyTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

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

  activity.xml 中的 <TextView> 组件代码

<com.example.table.MyTextView
    android:ellipsize="marquee"
    android:id="@+id/tv_1"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="我是多行文字跑马灯001"
    android:textColor="#F82414"
    android:textSize="50sp" />

<com.example.table.MyTextView
    android:ellipsize="marquee"
    android:id="@+id/tv_2"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_width="wrap_content"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="我是多行文字跑马灯002"
    android:textColor="#0288D1"
    android:textSize="50sp" />

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐