1.显示超链接
textView1.setMovementMethod(LinkMovementMethod.getInstance());
String content1="<a href='http://www.baidu.com'>百度</a><br>";
textView1.setText(Html.fromHtml(content1));
效果就是出现一个百度的文字,蓝色的,点击可以打开系统游览器
2.显示号码和网站连接
<TextView
android:id="@+id/textViewId2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink="all" />
要设置默认link为all
String content2="网址:http://www.baidu.com \n 电话:12345678";
textView2.setText(content2);
效果就是号码和网址变蓝,会调用系统自带软件来打开
3.显示图片
String content3 = "<img src='t1'/><br><img src='t2'/><br><img src='t3'/><br><img src='t4'/><br>";
CharSequence ch = Html.fromHtml(content3, new ImageGetter() {
public Drawable getDrawable(String source) {
Drawable d = getResources().getDrawable(getResourcesId(source));
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
}, null);
textView3.setText(ch);
/**
* 返回资源文件的id
*
* @param name
* @return
*/
public int getResourcesId(String name) {
try {
Field field = R.drawable.class.getField(name);
return Integer.parseInt(field.get(null).toString());
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
用到了反射
4.跑马灯效果
android:ellipsize属性使用之跑马灯效果
android:ellipsize:
设置当文字过长时,该控件该如何显示。有如下值设置:
"start"—–省略号显示在开头
"end"——省略号显示在结尾
"middle"—-省略号显示在中间
"marquee" ——以跑马灯的方式显示(动画横向向左移动)
布局文件中给TextView加入如下属性即可:
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"