一、只想让TextView显示一行,但是文字超过TextView的长度怎么办?
在开头显示省略号
android:singleLine="true"
android:ellipsize="start"
在结尾显示省略号
android:singleLine="true"
android:ellipsize="end"
在中间显示省略号
android:singleLine="true"
android:ellipsize="middle"
【横向自动滚动(跑马灯效果)】
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
以上4个效果都要加上 android:singleLine="true",因为TextView默认是会自动换行的
android:ellipsize是设置文字过长时,该怎么显示
android:marqueeRepeatLimit="marquee_forever"是设置永远重复,当然你也可以设置具体的数字
android:focusable="true"和android:focusableInTouchMode="true"一定要加上,不然滚动效果出不来
二、怎么让TextView可以垂直滚动?
在Java代码中加入下面一句话就可以实现垂直滚动
textView.setMovementMethod(ScrollingMovementMethod.getInstance());
本文介绍了在Android中如何实现TextView的文字滚动效果。对于水平滚动(跑马灯效果),通过设置`android:singleLine="true"`,`android:ellipsize="marquee"`,`android:marqueeRepeatLimit="marquee_forever"`,`android:focusable="true"`和`android:focusableInTouchMode="true"`来实现。而对于垂直滚动,只需在Java代码中设置`textView.setMovementMethod(ScrollingMovementMethod.getInstance())`。

361

被折叠的 条评论
为什么被折叠?



