TextView中添加超链接的四种方式

/**
* TextView中添加超链接的四种方式
* 1.autoLink属性
* 2.使用HTML
* 3.将html资源直接定义在string中
* 4.使用SpannableString
*/
public class MainActivity extends AppCompatActivity {
private String html = "<a href='tel:13455555555'>打电话;</a><a href='smsto:13455555555'>发短信;</a><a href='mailto:13455555555@qq.com'>发邮件;</a><a href='http://www.baidu.com'>百度;</a>" ;

@Override
protected void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState) ;
setContentView(R.layout. activity_main ) ;
TextView tv1 = (TextView) findViewById(R.id. tv1 ) ;
TextView tv2 = (TextView) findViewById(R.id. tv2 ) ;
TextView tv3 = (TextView) findViewById(R.id. tv3 ) ;
TextView tv4 = (TextView) findViewById(R.id. tv4 ) ;
tv1.setText(Html. fromHtml ( html )) ;
tv1.setMovementMethod(LinkMovementMethod. getInstance ()) ;
//设置各种点击事件
SpannableString spannableString7 = new SpannableString( "打电话,发短信,发邮件,上网" ) ;
spannableString7.setSpan( new URLSpan( "tel:13515135666" ) , 0 , 3 , Spanned. SPAN_EXCLUSIVE_INCLUSIVE ) ;
spannableString7.setSpan( new URLSpan( "smsto:13515135666" ) , 4 , 7 , Spanned. SPAN_EXCLUSIVE_INCLUSIVE ) ;
spannableString7.setSpan( new URLSpan( "mailto:13515135666@qq.com" ) , 8 , 11 , Spanned. SPAN_EXCLUSIVE_INCLUSIVE ) ;
spannableString7.setSpan( new URLSpan( "http://lol.qq.com/" ) , 12 , spannableString7.length() , Spanned. SPAN_EXCLUSIVE_INCLUSIVE ) ;
tv2.append(spannableString7) ;
tv2.setMovementMethod(LinkMovementMethod. getInstance ()) ;
tv3.setMovementMethod(LinkMovementMethod. getInstance ()) ;

//给文本设置字体
tv4.setText( "ExpandableListView组件是android中一个比较常用的组件," +
"当点击一个父item的时候可以将它的子item显示出来," +
"像手机QQ中的好友列表就是实现的类型效果。" +
"使用ExpandableListView组件的关键就是设置它的adapter," +
"这个adapter必须继承BaseExpandbaleListAdapter类," +
"所以实现运用ExpandableListView的核心就是学会继承这个BaseExpanableListAdapter类。" ) ;

Typeface fromAsset = Typeface. createFromAsset (getAssets() , "mycustom.ttf" ) ;
tv4.setTypeface(fromAsset) ;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值