TextView
1,Text实现链接效果 主要有四种实现方式
1.1 textView设置链接属性tv01.setAutoLinkMask(Linkify.ALL);
以下链接属性针对TextView中的所以文字
Linkify.WEB_URLS //URL生成链接
Linkify.EMAIL_ADDRESSES// EMAIL生成链接
Linkify.PHONE_NUMBERS//PHONE生成链接
Linkify.MAP_ADDRESSES// 位置信息生成链接
Linkify.ALL //以上所有可产生链接的文字都产生链接
另外也可以在XML中设置TexgView的属性 android:autoLink="all" 也可产生链接。
1.2 生成String.xml String字符串使用<a href="http://www.baidu.com">link</a> <a href="tel:4155551212">dial a phone number</a>.可生成超链接
然后给TextView设置链接属性 textView.setMovementMethod(LinkMovementMethod.getInstance());
这样点击LINK就能直接跳转到网页了。
1.3 使用HTML语言生成超链接
生成含超链接的文字
textView.setText(
Html.fromHtml(
"<b>text3: Constructed from HTML programmatically.</b> Text with a " +
"<a href=\"http://www.google.com\">link</a> " +
"created in the Java source code using HTML."));
给TextView设置链接属性 textView.setMovementMethod(LinkMovementMethod.getInstance());
1,4 使用SpannableString生成超链接
SpannableString ss = new SpannableString("link");
设置需要产生链接的文字ss.setSpan(new URLSpan("tel:4155551212"), 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
给TextView设置链接属性 textView.setMovementMethod(LinkMovementMethod.getInstance());
2,跑马灯效果 主要是使用TextView的属性android:ellipsize
在xml中
android:ellipsize = "end" 省略号在结尾
android:ellipsize = "start" 省略号在开头
android:ellipsize = "middle" 省略号在中间
android:ellipsize = "marquee" 跑马灯
最好加一个约束android:singleline = "true" 或者 android:maxLines="1"
当然也可以用代码语句
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的方法isFocused为true的时候才会跑动