Android开发之跑马灯效果

照样,先来看下项目运行效果,如下:

      

下面来讲下,跑马灯的实现过程.其实很简单,步骤如下:

1、  新建一个Android项目,命名为Run

2、  修改该项目的布局文件main.xml文件内容如下:

  1.  1. <?xml version="1.0" encoding="utf-8"?>    
  2.  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
  3.  3.     android:orientation="vertical"    
  4.  4.     android:layout_width="fill_parent"    
  5.  5.     android:layout_height="fill_parent"    
  6.  6.     >    
  7.  7. <TextView      
  8.  8.     android:layout_width="100px"     
  9.  9.     android:layout_height="wrap_content"     
  10. 10.     android:ellipsize="marquee"    
  11. 11.     android:marqueeRepeatLimit="marquee_forever"    
  12. 12.     android:scrollHorizontally="true"    
  13. 13.     android:singleLine="true"    
  14. 14.     android:focusable="true"    
  15. 15.     android:focusableInTouchMode="true"    
  16. 16.     android:textSize="18px"    
  17. 17.     android:text="这是水平跑马灯效果!感觉怎么样呢?嘿嘿!"    
  18. 18.     />    
  19. 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()方法来获得,看看设备目前是否处于触摸模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值