安卓中定义滚动的TextView

来源:互联网 发布:自学java工程师 编辑:程序博客网 时间:2024/06/01 08:27

一、原理

  • 让TextView的文字滚动起来的原理非常简单,只要让该TextView永远获得焦点,文字就会滚动起来。

二、实现方法

  • 定义一个FocusTextView继承TextVeiw,重写其isFocused()方法即可。
package com.example.administrator.mobilesafe.view;import android.content.Context;import android.util.AttributeSet;import android.widget.TextView;/** * Created by Administrator on 2016/12/3. * 重写获取焦点的方法,自定义获取焦点的TextView */public class FocusTextView extends TextView {    //new对象时调用    public FocusTextView(Context context) {        super(context);    }    //由系统调用    public FocusTextView(Context context, AttributeSet attrs) {        super(context, attrs);    }    //有系统调用,带样式文件    public FocusTextView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    //判断是否获得焦点,让其永远返回true,永远获取焦点    @Override       public boolean isFocused() {        return true;    }}
  • 调用该自定义控件
<!--android:ellipsize="marquee" 设置为跑马灯效果--><!-- android:marqueeRepeatLimit="marquee_forever" 滚动次数,一直滚动--><!--android:singleLine="true" 单行显示-->    <com.example.administrator.mobilesafe.view.FocusTextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:ellipsize="marquee"        android:marqueeRepeatLimit="marquee_forever"        android:padding="5dp"        android:singleLine="true"        android:text="夏天夏天悄悄过去,留下小秘密,多甜蜜,多甜蜜,怎能忘记你,啦啦啦啦啦啦啦"        android:textColor="#000"/>
0 0
原创粉丝点击