TextView跑马灯效果

页面导航:首页 > 手机学院 > 安卓手机 > TextView跑马灯效果

TextView跑马灯效果

来源:互联网 作者:脚本宝典 时间:2015-09-17 13:16 【

一、只想让TextView显示一行,但是文字超过TextView的长度怎么办?在开头显示省略号android:singleLine=trueandroid:ellipsize=start在结尾显示省略号android:singleLine=trueandroid:ellipsize=end在中间显示省略
一、只想让TextView显示一行,但是文字超过TextView的长度怎么办?
在开头显示省略号
android:singleLine="true" android:ellipsize="start"
在结尾显示省略号
android:singleLine="true" android:ellipsize="end"
在中间显示省略号
android:singleLine="true" android:ellipsize="middle"
横向自动滚动(跑马灯效果)
android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:focusable="true" android:focusableInTouchMode="true"
以上4个效果都要加上 android:singleLine="true",因为TextView默认是会自动换行的
android:ellipsize是设置文字过长时,该怎么显示
android:marqueeRepeatLimit="marquee_forever"是设置永远重复,当然你也可以设置具体的数字
android:focusable="true"和android:focusableInTouchMode="true"一定要加上,不然滚动效果出不来
二、怎么让TextView可以垂直滚动?
在Java代码中加入下面一句话就可以实现垂直滚动:textView.setMovementMethod(ScrollingMovementMethod.getInstance());
三、怎么使TextView内容改变,跑马灯效果依然可以使用
重写TextView设置TextView一直处于选中状态:AlwaysMarqueeTextView.java
/*
 * 重写TextView保证跑马灯效果一直显示
 */
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;//一定要设置为true
    }
}


Tags:

相关文章

    文章评论

    最 近 更 新
    热 点 排 行
    Js与CSS工具
    代码转换工具
    
    <