Android开发实现TextView跑马灯效果

来源:互联网 发布:最优化方法孙文瑜书 编辑:程序博客网 时间:2024/05/20 20:45

转载于:http://blog.csdn.net/android_hl/article/details/55252270

效果图

这里写图片描述

TextView属性设置

<TextView            android:id="@+id/tv_title"            <!--设置具体宽度,不然无效果 -->            android:layout_width="200dp"            android:layout_height="wrap_content"            android:layout_centerHorizontal="true"            android:layout_centerVertical="true"            android:text="资讯详情"            <!--单行 Android studio中会提示用maxLines代替,但是会没有效果 -->            android:singleLine="true"            <!--跑马灯效果重复次数 这里设置的是一直重复 -->            android:marqueeRepeatLimit="marquee_forever"            <!--设置跑马灯效果 -->            android:ellipsize="marquee"            <!--设滑动方向 -->            android:scrollHorizontally="true"            <!--设置点击获得焦点 -->            android:focusableInTouchMode="true"            <!--设置获取焦点   只有获得焦点的情况下才能有跑马灯效果 -->            android:focusable="true"            android:gravity="center"            android:textColor="#ffffffff"       android:textAppearance="?android:attr/textAppearanceLarge"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

主要属性

android:ellipsize属性值有四个,分别是:

        <!--省略号在开头 -->        android:ellipsize="start"        <!--省略号在中间 -->        android:ellipsize="middle"        <!--省略号在结尾 -->        android:ellipsize="end"        <!--跑马灯显示 -->        android:ellipsize="marquee"  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

当android:ellipsize=”marquee” 的时候,android:marqueeRepeatLimit=”marquee_forever”设置重复的次数,marquee_forever表示一直重复,也可以是1,2,3等。

下面的话是在别处看到的,不知道是否正确: 
对于一个大View中有很多子View来说,同一时刻只能有一个子View获得focus!也就是说当前这一屏上,最多只能有一个view能有跑马灯效果,而不能多个View同事都有跑马灯效果。