TextView中文字的跑马灯效果实现,以及focusable,focusableInTouchMode属性介绍

xiaoxiao2021-02-27  259

要实现跑马灯效果先要保证文字的长度大于一行,然后使用

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 的作用是让焦点停留在自身控件,在那之前就必须控件先有焦点

转载请注明原文地址: https://www.6miu.com/read-2630.html

最新回复(0)