Android下Button/TextView 走马灯效果

在Android的ApiDemo中,有Button的走马灯效果,但是换作是TextView,还是有一点差异。结合Android API和网络一些Android牛人的研究成果,我在这里再啰嗦一下,希望对Android新手有所帮助。

定义走马灯(Marquee),主要在Project/res/layout/main.xml即可(当然也可以是其它名字的.xml,main.xml是系统默认,习惯了而已)

<TextView
    android:layout_width="40px"
    android:layout_height="wrap_content"
    android:text="Test marquee for TextView"
    android:layout_gravity="center"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:focusable="true"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"
    android:scrollHorizontally="true"
    />

关键点:
 (1)layout_width设定的长度要比text其实的长度短才行,即layout_width显示不全text才会有走马灯效果
(2)ellipsize 即申明使用走马灯marquee
(3)singleLine表示单行显示
(4)marqueeRepeatLimit表示走马灯显示的次数:marquee_forever-无限制不间断显示

<Button
    android:id="@+id/buttonMarquee"
    android:layout_width="320px"
    android:layout_height="wrap_content"
    android:text="@string/textMarquee"
    android:singleLine="true"
    android:focusable="true"
    android:selectAllOnFocus="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    />

其中@string/textMarquee为/res/valuse/strings.xml定义的字符串常用

相关推荐