Android TextView文字横向自动滚动(跑马灯)

3.TextView只有在获取焦点后才会滚动显示隐藏文字,因此需要在包中新建一个类,继承TextView。重写isFocused方法,这个方法默认行为是,如果TextView获得焦点,方法返回true,失去焦点则返回false。跑马灯效果估计也是用这个方法判断是否获得焦点,所以把它的返回值始终设置为true。

Java语言:  AlwaysMarqueeTextView 类

public class AlwaysMarqueeTextView extends TextView {

public AlwaysMarqueeTextView(Context context) {

super(context);

}

public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {

super(context, attrs);

}

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

super(context, attrs, defStyle);

}

@Override

public boolean isFocused() {

return true;

}

在布局XML文件中加入这么一个AlwaysMarqueeTextView,这个加入方法也是刚刚学的。

XML语言:  layout.xml

<com.examples.AlwaysMarqueeTextView

and

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中,可以通过设置TextView的属性和使用一些代码来实现垂直自动滚动效果。 首先,我们可以使用xml布局文件或者代码动态创建一个TextView。在xml布局文件中,我们可以设置TextView的宽度和高度、文字内容等属性。 接下来,可以在代码中通过设置TextView的属性来实现垂直自动滚动。首先,我们可以使用setMaxLines方法来设置TextView的最大行数,让它只显示一行。然后,可以使用setEllipsize方法来设置TextView的省略方式为Marquee,表示文字超出一行时以滚动的形式显示。最后,再调用setSelected方法来启动滚动效果。 示例代码如下: ```java TextView textView = findViewById(R.id.text_view); textView.setMaxLines(1); textView.setEllipsize(TextUtils.TruncateAt.MARQUEE); textView.setSelected(true); ``` 这样,当TextView文字内容超过一行时,就会自动滚动的方式显示。需要注意的是,在xml布局文件中或者代码中,需要将TextView的单行显示设置为true,并且保证TextView可获取焦点才能触发滚动效果。 除了上述方法,还可以使用属性动画或者使用Handler来实现TextView的垂直自动滚动效果。使用属性动画可以设置动画效果的速度和插值器,更加灵活。使用Handler的方式可以自定义滚动的速度和间隔时间。 总之,通过设置TextView的属性和使用一些代码,我们可以实现AndroidTextView的垂直自动滚动效果,提升用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值