照样,先来看下项目运行效果,如下:
下面来讲下,跑马灯的实现过程.其实很简单,步骤如下:
1、 新建一个Android项目,命名为Run
2、 修改该项目的布局文件main.xml文件内容如下:
- 1. <?xml version="1.0" encoding="utf-8"?>
- 2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- 3. android:orientation="vertical"
- 4. android:layout_width="fill_parent"
- 5. android:layout_height="fill_parent"
- 6. >
- 7. <TextView
- 8. android:layout_width="100px"
- 9. android:layout_height="wrap_content"
- 10. android:ellipsize="marquee"
- 11. android:marqueeRepeatLimit="marquee_forever"
- 12. android:scrollHorizontally="true"
- 13. android:singleLine="true"
- 14. android:focusable="true"
- 15. android:focusableInTouchMode="true"
- 16. android:textSize="18px"
- 17. android:text="这是水平跑马灯效果!感觉怎么样呢?嘿嘿!"
- 18. />
- 19. </LinearLayout>
1. <?xml version="1.0" encoding="utf-8"?>
2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3. android:orientation="vertical"
4. android:layout_width="fill_parent"
5. android:layout_height="fill_parent"
6. >
7. <TextView
8. android:layout_width="100px"
9. android:layout_height="wrap_content"
10. android:ellipsize="marquee"
11. android:marqueeRepeatLimit="marquee_forever"
12. android:scrollHorizontally="true"
13. android:singleLine="true"
14. android:focusable="true"
15. android:focusableInTouchMode="true"
16. android:textSize="18px"
17. android:text="这是水平跑马灯效果!感觉怎么样呢?嘿嘿!"
18. />
19. </LinearLayout>
3、 单击项目运行即可。简单吧,呵呵!
我们得任务可还没结束哦!下面我们来讲解下,TextView中的内容及各个属性的作用。
(1) android:ellipsize:作用是设置当文字过长时,该控件该如何显示所有的文字。它下面有如下值可供选择:start—省略号显示在开头;end—省略号显示在结尾;middle—省略号显示在中间;marquee—以跑马灯的方式显示(动画横向移动)。
(2) android:marqueeRepeatLimit:在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时,表示无限次。
(3) android:focusable=”true”:设置是否可聚焦。
(4) android:focusableInTouchMode=”true”:设置是否触摸模式。
(5) android:scrollHorzontally=”true”:设置Text长度是否可比控件长度长。
关于Touch Mode
当用户在使用方向键或轨迹球浏览用户界面时,有必要给于一个焦点在可操作的组件上(如一个Button),使用户可以看到它将接受输入命令。如果设备有触摸功能,那么,当用户与界面的交互就不再需要有一个高亮在组件上,或一个焦点在view上,因此,模式的互动名为"触摸模式"。对于一个触摸设备,一旦有用户接触屏幕时,该设备将进入触摸模式.在点触某个View后,只有的它的方法isFocusableInTouchMode()返回为真时,才会有聚集焦点,如文本编辑工具。其他的界面只可以点触,但不会聚集焦点(高亮),如button 被点触时就不会聚集焦点,当它被按下时只会调用on-click监听器的回调方法。
任何时候用户接触方向键或者滚动轨迹球时,该设备将退出触摸模式,并聚集焦点,用户可以恢复与用户界面的键盘交互,而不必在屏幕上。触摸模式的状态是由整个系统来维持的(all windows and activities),要查询目前所处的状态,你可以调用isInTouchMode()方法来获得,看看设备目前是否处于触摸模式。