您的位置:首页 > 产品设计 > UI/UE

TextView设置android:ellipsize=marquee不滚动

2015-11-24 19:29 766 查看



今天发现android开发中有一个android:ellipsize=marquee,这个感觉像html中的marquee功能,可以实现滚动效果,于是测试了一下,结果不行呀,后来百度了一下解决办法,下面大家一起来看看。

若要让TextView里的文本滚动,必须满足以下几个因素:

1,TextView里文本宽度超过TextView的宽度

2,android:ellipsize="marquee"

3,只有在TextView获取到焦点时,才会滚动.所以加上android:focusableInTouchMode="true" android:focusable="true"

最容易忽略的是第三条.

滚动重复次数设置:

android:marqueeRepeatLimit="marquee_forever"

看一个TextView属性android:ellipsize实现跑马灯效果

Android系统中TextView实现跑马灯效果,必须具备以下几个条件:

1、android:ellipsize=”marquee”

2、TextView必须单行显示,即内容必须超出TextView大小

3、TextView要获得焦点才能滚动

XML代码:

android:ellipsize="marquee", android:singleLine="true"

Java代码:

mTVText.setText("哼唱接撒砥砺风节雷锋精神,很长很长很长很长很长很长的数据");

mTVText.setSingleLine(true);

mTVText.setEllipsize(TruncateAt.MARQUEE);

PS: TextView.setHorizontallyScrolling(true); //让文字可以水平滑动

TextView还可以设置跑马灯效果的滚动次数,如下:

XML代码设置:

android:marqueerepeatlimit="1"。1代表1次,-1代表无限循环。

Java代码设置:

mTVText.setMarqueeRepeatLimit(-1);

(转自:http://www.111cn.net/sj/android/52799.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: