版权所有,禁止匿名转载;禁止商业使用。
一、问题的引入使用普通的textview跑马的效果,一开始没有焦点事件不会进行滚动,button有焦点事件,但是比较难看,因此需要自定一个TextView 一出生就有焦点
然后需要自定义一个textviewFocusedTextView.java
package com.xuliugen.mobilesafe.ui; import android.content.Context; import android.util.AttributeSet; import android.view.ViewDebug.ExportedProperty; import android.widget.TextView; /** * 跑马的效果,一开始没有焦点事件不会进行滚动 * * button有焦点事件,但是比较难看,因此需要自定一个TextView 一出生就有焦点 * * @author xuliugen * */ public class FocusedTextView extends TextView { /** * 自定义的view需要以下几个构造方法 * * @param context * @param attrs * @param defStyle */ public FocusedTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public FocusedTextView(Context context, AttributeSet attrs) { super(context, attrs); } public FocusedTextView(Context context) { super(context); } /** * 当前并没有焦点,我只是欺骗了Android系统 */ @Override @ExportedProperty(category = "focus") public boolean isFocused() { return true; } }
那么我们引用的时候如下:
<!-- 跑马灯的效果 :滚动的textView--> <com.xuliugen.mobilesafe.ui.FocusedTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:singleLine="true" android:text="自定义TextView使之具有跑马灯的效果自定义TextView使之具有跑马灯的效果自定义TextView使之具有跑马灯的效果" android:textSize="18sp" />