首页 > 代码库 > Android中TextView如何实现水平和垂直滚动

Android中TextView如何实现水平和垂直滚动

一、只想让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如何实现水平和垂直滚动