android - TextView单行显示...或者文字左右滚动(走马灯效果)

时间:2023-02-08 20:11:56

TextView单行显示,文字左右滚动(走马灯效果)实现条件:

  • 实现单行设置固定宽度或者设置权重都行
  • TextView滚动必须写下面几个属性
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusable="true"
    android:focusableInTouchMode="true"

    其中ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下:
    android:ellipsize=”start”—–省略号显示在开头
    android:ellipsize=”end”——省略号显示在结尾
    android:ellipsize=”middle”—-省略号显示在中间
    android:ellipsize=”marquee”–以跑马灯的方式显示(动画横向移动)
    一定要设置单行显示singleline  ellipize设置为marquee就是跑马灯属性,marqueeReatLimit设置marquee_forever意思为一直都是滚动模式

    Activity里面还得设置一个属性:

    tv.setSelected(true);   不设置这个属性,字体不会开始滚动  tv及时textview的对象

  • android:marqueeRepeatLimit="marquee_forever"//表示滚动回数,这里这么设置,表示一直滚动 
    也可以设置为1,2.。等。

  • android:focusable="true"  //要显示该跑马灯,view必须要获得焦点,只有在取得焦点的情况下跑马灯才会显示