TextView文字过长省略部分或滚动显示

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:marqueeRepeatLimit="marquee_forever"

Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟 ScrollView必须只能有一个直接的子类布局。只要在layout中简单设置几个属性就可以轻松实现。

<TextView
android:id="@+id/tvCWJ"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical" <!--垂直滚动条 -->
android:singleLine="false" <!--实现多行 -->
android:maxLines="15" <!--最多不超过15行 -->
android:textColor="#FF0000"
/>

  1. < TextView
  2.  android:id = "@+id/app_shortcontent"
  3.  android:layout_width = "wrap_content"
  4.  android:layout_height = "wrap_content"
  5.  android:singleLine = "true"
  6.  android:textColor = "#FFFFFFFF"
  7.  android:scrollHorizontally = "true"
  8.  android:focusable = "true"
  9.  android:ellipsize = "marquee"
  10.  android:marqueeRepeatLimit = "marquee_forever" />

当然我们为了让TextView动起来,还需要用到TextView的setMovementMethod方法设置一个滚动实例,代码如下

TextView tv = (TextView)findViewById(R.id.tvCWJ);
tv.setMovementMethod(ScrollingMovementMethod.getInstance()); // Android开发网提示相关的可以查看SDK中android.text.method分支了解更多

虚拟主机
《锋利的jQuery(第2版)》PDF
《JavaScript高级程序设计(第3版)》PDF
《Javascript语言精粹》PDF
《JavaScript DOM编程艺术》(第二版)PDF
广告也精彩