zoukankan      html  css  js  c++  java
  • Android-TextView跑马灯效果

    1.让很多文字一行显示,默认是false,设置为true;

    android:singleLine="true"

    2.对文字进行裁剪,默认是end裁剪;

    android:ellipsize="end"

     3.设置文字裁剪为start,设置一行显示:

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="专一 只专注Android,持之以恒 每天坚持努力学习Android,全身心投入把Android学精,把学习Android演变成兴趣爱好"
    
            android:singleLine="true"
            android:ellipsize="start"
            />

    4.如何让文字滚动起来,按理来说设置 ellipsize="marquee" 就可以滚动起来了,但是系统默认认为无法获取TextVIew焦点,所以还需要设置能得到焦点

    android:singleLine="true"
    android:ellipsize="marquee"
    TextView tvText = findViewById(R.id.tv_text);
    tvText.setSelected(true);

    5.已经可以滚动起来了,由于系统内部是采用定时器去启动的,有可能会停止,为了解决不稳定性,还可以设置一个属性就稳定了 

    android:marqueeRepeatLimit="marquee_forever"

    另外一种方式告诉系统TextView是有焦点的:

    <liudeli.ui.all.MyTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="专一 只专注Android,持之以恒 每天坚持努力学习Android,全身心投入把Android学精,把学习Android演变成兴趣爱好"
    
            android:singleLine="true"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="marquee_forever"
            />
    public class MyTextView extends TextView {
    
        public MyTextView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        /**
         * 重新此方法,是为了告诉系统,TextView可以获取到焦点啦
         * @return
         */
        @Override
        public boolean isFocused() {
            return true;
        }
    }
  • 相关阅读:
    jmeter之ServerAgent监控资源
    jmeter之线程组循环次数
    mysql增删查改、存储过程
    [剑指Offer] 37.数字在排序数组中出现的次数
    [剑指Offer] 36.两个链表的第一个公共结点
    [剑指Offer] 35.数组中的逆序对
    [剑指Offer] 34.第一个只出现一次的数
    [剑指Offer] 33.丑数
    [OS] 进程相关知识点
    [C/C++] C/C++中数字与字符串之间的转换
  • 原文地址:https://www.cnblogs.com/android-deli/p/10080015.html
Copyright © 2011-2022 走看看