要实现跑马灯效果先要保证文字的长度大于一行,然后使用
android:singleLind="true:
设置文字的形式:(跑马灯效果)
android:ellipsize="marquee"
设置以上属性后,文字还不会自动跑起来,是因为TextView还没有获取焦点(即已存在跑马灯效果,当没有告诉TextView你要跑起来,而通知TextView跑起来的东西就是焦点),下面讲解两个属性就是解决这个问题的.
android:focusableandroid:focusableInTouchMode跑马灯效果
falsefalse无falsetrue无truefalse无truetrue有
两个属性的区别:
android:focusable: 这个属性指定控件是否可以获取焦点,一般在触屏手机上是看不出来的,比如说在一些键盘机上,你进入音乐列表后,是不是有一行是高亮显示的,然后通过上下导航键可以移动那个高亮显示的条目,那就是条目获取了焦点; 但是在触屏机上没有上下导航键,也就是说无法移动焦点,那怎么办,这就是android:focusableInTouchMode的作用了.
android:focusableInTouchMode:可以让焦点停留在自身的控件上,相当于把上面那个能让条目高亮显示的东西(焦点)一直停留在自身的控件上
注意:
要使用 android:focusableInTouchMode 前必须要将 android:focusable 设置为true,因为 android:focusableInTouchMode 的作用是让焦点停留在自身控件,在那之前就必须控件先有焦点