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