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

    TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下:
    1.android:ellipsize=”start”—–省略号显示在开头
    2.android:ellipsize=”end”——省略号显示在结尾
    3.android:ellipsize=”middle”—-省略号显示在中间
    4.android:ellipsize=”marquee”–以跑马灯的方式显示(动画横向移动)

    文字左右滚动的属性: 
    android:singleLine="true"  表示使用单行文字
    android:ellipsize="marquee"

    android:focusableInTouchMode="true"
    android:focusable="true" 设置焦点
    android:marqueeRepeatLimit="marquee_forever"设置走马灯滚动的次数,marquee_forever为无限滚动

    其他效果:

    android:scrollbars="vertical" <!--垂直滚动条-->
    android:singleLine="false" <!--实现多行-->
    android:maxLines="15" <!--最多不超过15行-->

    Java代码:

    android:ellipsize="marquee", android:singleLine="true"
    Java代码1:
    mTVText.setText("");
    mTVText.setSingleLine(true);
    mTVText.setEllipsize(TruncateAt.MARQUEE);
    PS: TextView.setHorizontallyScrolling(true); //让文字可以水平滑动

    Java代码2:

    tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
    tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
    tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
    tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
    最好再加一个约束tv.setSingleLine(true);
    不仅对于textview有此属性,对于editext也有,不过它不支持marquee

      以上代码中跑马灯效果在xml中添加上面的滚动属性可以实现,本人已经用过,Java代码部分还未验证。

  • 相关阅读:
    linux-网卡故障
    css hack
    IE7的overflow失效的解决方法
    Js中 关于top、clientTop、scrollTop、offsetTop的用法
    javascript作用域(Scope),简述上下文(context)和作用域的定义
    统计代码行数的小技巧
    sql复制表、拷贝表、临时表
    string.format
    手机号正则验证
    getBoundingClientRect() 来获取页面元素的位置
  • 原文地址:https://www.cnblogs.com/xiao-xu/p/3210639.html
Copyright © 2011-2022 走看看