android+自定义跑马灯,Android自定义TextView实现跑马灯功能

本文介绍了如何在Android中不使用自定义控件实现跑马灯效果,以及如何通过创建一个FocusTextView类来强制使TextView始终获得焦点,从而实现跑马灯功能。在XML布局文件中引用这个自定义类,可以轻松地在TextView中添加跑马灯效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

未用自定义TextView实现跑马灯代码:

android:focusableInTouchMode="true"

android:singleLine="true"

android:ellipsize="marquee"

android:text="未使用自定义TextView的跑马灯效果"

android:textSize="18sp"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

下面使用自定义TextView实现跑马灯:

package com.zebra.mobilesafe.ui;

import android.content.Context;

import android.util.AttributeSet;

import android.view.ViewDebug.ExportedProperty;

import android.widget.TextView;

/**

* 自定义一个TextView,是他天生就有焦点

* @author Administrator

*

*/

public class FocusTextView extends TextView {

public FocusTextView(Context context,AttributeSet attrs,int defStyle) {

super(context,attrs,defStyle);

// TODO Auto-generated constructor stub

}

public FocusTextView(Context context,AttributeSet attrs) {

super(context,attrs);

// TODO Auto-generated constructor stub

}

public FocusTextView(Context context) {

super(context);

// TODO Auto-generated constructor stub

}

/**

* 欺骗Android系统,让当前没有焦点的判断为true,实现button效果

*/

@Override

@ExportedProperty(category = "focus")

public boolean isFocused() {

// TODO Auto-generated method stub

return true;

}

}

然后在android的xml文件中,引用自定义实现,路径要是类的绝对路径

android:singleLine="true"

android:ellipsize="marquee"

android:text="使用自定义TextView的跑马灯效果"

android:textSize="18sp"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

这样就可以在TextView中实现跑马灯效果了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值