TextView单行显示,文字左右滚动(走马灯效果)实现条件:
- 实现单行设置固定宽度或者设置权重都行
-
TextView滚动必须写下面几个属性
一定要设置单行显示singleline ellipize设置为marquee就是跑马灯属性,marqueeReatLimit设置marquee_forever意思为一直都是滚动模式
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”–以跑马灯的方式显示(动画横向移动)Activity里面还得设置一个属性:
tv.setSelected(true); 不设置这个属性,字体不会开始滚动 tv及时textview的对象
-
android:marqueeRepeatLimit="marquee_forever"//表示滚动回数,这里这么设置,表示一直滚动
也可以设置为1,2.。等。
android:focusable="true" //要显示该跑马灯,view必须要获得焦点,只有在取得焦点的情况下跑马灯才会显示