Android中一直走马灯效果的TextView

来源:互联网 发布:抠图软件 for mac 编辑:程序博客网 时间:2024/05/18 17:05

XML布局:

<TextView        android:layout_width="100dip"        android:layout_height="wrap_content"        android:ellipsize="marquee"        android:focusable="true"        android:focusableInTouchMode="true"        android:marqueeRepeatLimit="marquee_forever"        android:singleLine="true"        android:text="走马灯xml布局实现,哈哈。。。。" />

自定义控件:

package com.android.widget;import android.content.Context;import android.graphics.Rect;import android.text.TextUtils.TruncateAt;import android.util.AttributeSet;import android.widget.TextView;/** *  * 一直走马灯效果控件 *  * @author zuolongsnail */public class CustomMarqueeTextView extends TextView {public MyMarqueeTextView(Context context) {super(context);createView();}public MyMarqueeTextView(Context context, AttributeSet attrs) {super(context, attrs);createView();}public MyMarqueeTextView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);createView();}private void createView() {setEllipsize(TruncateAt.MARQUEE);setMarqueeRepeatLimit(-1);setFocusableInTouchMode(true);}@Overrideprotected void onFocusChanged(boolean focused, int direction,Rect previouslyFocusedRect) {if (focused) {super.onFocusChanged(focused, direction, previouslyFocusedRect);}}@Overridepublic void onWindowFocusChanged(boolean focused) {if (focused) {super.onWindowFocusChanged(focused);}}@Overridepublic boolean isFocused() {return true;}}

在xml中的使用方法:

<com.android.widget.CustomMarqueeTextView            android:id="@+id/custom_marquee_textview"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />