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

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

    android:singleLind="true:
    
  2. 设置文字的形式:(跑马灯效果)

    android:ellipsize="marquee"
    
  3. 设置以上属性后,文字还不会自动跑起来,是因为TextView还没有获取焦点(即已存在跑马灯效果,当没有告诉TextView你要跑起来,而通知TextView跑起来的东西就是焦点),下面讲解两个属性就是解决这个问题的.

    android:focusable android:focusableInTouchMode 跑马灯效果
    false false
    false true
    true false
    true true
  4. 两个属性的区别:

    1. android:focusable: 这个属性指定控件是否可以获取焦点,一般在触屏手机上是看不出来的,比如说在一些键盘机上,你进入音乐列表后,是不是有一行是高亮显示的,然后通过上下导航键可以移动那个高亮显示的条目,那就是条目获取了焦点; 但是在触屏机上没有上下导航键,也就是说无法移动焦点,那怎么办,这就是android:focusableInTouchMode的作用了.

    2. android:focusableInTouchMode:可以让焦点停留在自身的控件上,相当于把上面那个能让条目高亮显示的东西(焦点)一直停留在自身的控件上

  5. 注意:

    要使用 android:focusableInTouchMode 前必须要将 android:focusable 设置为true,因为 android:focusableInTouchMode 的作用是让焦点停留在自身控件,在那之前就必须控件先有焦点

猜你喜欢

转载自blog.csdn.net/myTempest/article/details/71159902