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

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必须要获得焦点,只有在取得焦点的情况下跑马灯才会显示

你可能感兴趣的:(Android)