android实现跑马灯效果

第一步:新建一个新项目,MarqueeTextView
首先为了观察到跑马灯效果,将要显示的文字极可能 写长。在strings.xml目录里面将

<string name="hello_world">hello_world</string>

改动为

<string name="hello_world">我的代码非常长,真的非常长,不行你看看。实际上是骗你的,逗比,hiahia~~~~</string>

默认情况下。显示文字会自己主动换行!为了实现跑马灯效果。首先要阻止其自己主动换行。通过使用singleLine属性来实现!
android:singleLine=”true”
假设其目的不过实现单行文字的跑马灯效果。能够只再通过三个语句来实现!
android有个ellipsize属性。
android:ellipsize=”marquee”
android:focusable=”true”
android:focusableInTouchMode=”true”

通过上述代码能够实现单行文字的跑马灯效果。可是假设要实现多行文字的跑马灯效果,将上述代码反复书写,不能实现预想功能!

由于在上述的focusable属性里面已经将焦点定义到第一行上!兴许的得不到focus!

能够通过新建一个class类来实现!

在src目录里面新建一个类命名为MarqueeText

package com.example.marqueetextviewdemo1;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

public class MarqueeText extends TextView{

    public MarqueeText(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }

    public MarqueeText(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }

    public MarqueeText(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }
    public boolean isFocused() {
        return true;
    }
}

然后再将main.xml文件中面的TextView所有改动为 包名+.+类名。
此次改动是为了将所有以这样的方式定义的,都能获得focus。然后实现跑马灯的效果!

显示的效果例如以下:
这里写图片描写叙述

转载于:https://www.cnblogs.com/jzssuanfa/p/7263415.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值