欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 中TextView中跑马灯效果的实现方法

程序员文章站 2023-12-19 12:59:22
 条件: 1、android:ellipsize=”marquee” 2、textview必须单行显示,即内容必须超出textview大小 3、textvi...

 条件:

1、android:ellipsize=”marquee”

2、textview必须单行显示,即内容必须超出textview大小

3、textview要获得焦点才能滚动

mtvtext.settext(“超过文本长度的数据");

mtvtext.setsingleline(true);设置单行显示

mtvtext.setellipsize(truncateat.marquee);设置跑马灯显示效果

textview.sethorizontallyscrolling(true); //让文字可以水平滑动

textview还可以设置跑马灯效果的滚动次数

android:marqueerepeatlimit="1"。1代表1次,-1代表无限循环。

java代码设置:

mtvtext.setmarqueerepeatlimit(-1);

.xml文件:

<textview
    android:id="@+id/tv_marquee"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/tv_marquee_text"
    android:textsize="25sp"
    android:focusable="true"
    android:ellipsize="marquee"
    android:marqueerepeatlimit="marquee_forever"
    android:focusableintouchmode="true"
    android:textcolor="@color/colorprimary" />

.java文件

public class lamprunactivity extends appcompatactivity {
  private textview tv_marguee;
  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.activity_lamp_run);
    intitextview();
  }
  public void intitextview(){
    tv_marguee= (textview) findviewbyid(r.id.tv_marquee);
    tv_marguee.setsingleline(true);//设置单行显示
    tv_marguee.sethorizontallyscrolling(true);//设置水平滚动效果
//    tv_marguee.setmarqueerepeatlimit(-1);//设置滚动次数,-1为无限滚动,1为滚动1次

上一篇:

下一篇: