最近在给TextView设置跑马灯时,发现怎么弄都不生效,加了很多网上所谓的方法,都不行,最后就多加了一句代码,解决了,做个笔记。
xml布局代码:网上所提到的属性都加上了
<TextView
android:layout_width="match_content"
android:layout_height="wrap_content"
android:text="@string/my_location"
android:focusable="true" //控件是否能够获取焦点
android:focusableInTouchMode="true" //是否在触摸模式下获得焦点
android:scrollHorizontally="true"
android:singleLine="true" //单行显示
android:ellipsize="marquee" //跑马灯显示(动画横向移动)
android:marqueeRepeatLimit="marquee_forever" //永久滚动
/>
android:ellipsize属性:
android:ellipsize="start" 省略号在开头
android:ellipsize="middle" 省略号在中间
android:ellipsize="end" 省略号在结尾
android:ellipsize="marquee" 跑马灯显示
失效解决方法:
在代码中设置 setSelected(true)
//不设置,跑马灯不生效
mTvText.setSelected(true);
mTvText.setText("sakjhfjhajfhbsabfkljbsa");