1、自动链接实现
- 实现方式:在 .xml 文件中使用android:autoLink属性
该属性的值有: none:不匹配任何格式(默认值) web:只匹配网址,网址会以超链接的形式显示 email:只匹配电子邮箱,电子邮箱会以超链接的形式显示 phone:只匹配电话号码,电话号码会以超链接的形式显示 map:只匹配地图地址,地理位置会以超链接的形式显示 all:匹配以上所有
2、Html.fromHtml() + setMovementMethod() 实现
示例:
- 首先在 .xml 文件中实现布局
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" />
- 接着在 Java 代码中实现超链接
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.link);
TextView t = (TextView) findViewById(R.id.textview);
String webLinkText = "有问题:\n" + "<a href='https://www.baidu.com'>百度一下</a>" ;
t.setText(Html.fromHtml(webLinkText));
}
}
此时点击超链接并没有跳转效果,需要在 Java 代码中加上:
t.setMovementMethod(LinkMovementMethod.getInstance());
如果不执行这个方法是不会响应事件的,即便文本看着已经是下划线字了。
|